如何使用Scrapy或其他更简单的方法获取所有第三方cookie?

时间:2017-06-26 17:02:45

标签: python selenium cookies scrapy web-crawler

我希望使用Python Scrapy获取域名中的所有Cookie,包括第三方Cookie,例如嵌入式视频或Google日历。

我首先使用Scrapy检查HTTP标头中的“Set-Cookie”字段,但我只能获得第一方Cookie。

然后我尝试使用Scrapy + Selenium + Chromedriver加载所有js以获取所有cookie。但是,这很慢。我找到了这篇文章并尝试了PhantomJS:How to get 3rd party cookies?我做了同样的事情,但我得到了一个空的cookie.txt文件。

我想知道是否有任何简单的方法可以从网站获取所有Cookie,或者我应该如何解决这个问题?

提前致谢。

1 个答案:

答案 0 :(得分:3)

大多数python抓取工具永远无法完成获取cookie的工作,因为它无法执行javascript,并且许多(可能是大多数)第三方cookie是由脚本直接或间接设置的。

因此,您需要使用某种您似乎正在进行的浏览器自动化。关于phantomjs,如果你在尝试时遇到麻烦,那么确实通过其API返回所有cookie。就硒+ chromedriver而言,它只会返回第一方cookie。 PhantomJS实际上是收集cookie的最佳选择。另一种选择是在selenium中为chrome / firefox创建新的配置文件,找到临时文件路径,并使用sqlite直接打开cookie数据库。

您还可以尝试使用像webxray这样的工具来捕获第三方请求和Cookie:https://github.com/timlib/webXray(披露:我写了它)。