Python Scrapy-我应该在爬行时启用Cookie吗

Python Scrapy-我应该在爬行时启用Cookie吗,python,cookies,scrapy,web-crawler,Python,Cookies,Scrapy,Web Crawler,我从一些亚马逊网址上抓取数据,但当然有时我会得到验证码。我想知道启用/禁用cookies选项是否与此相关。我在爬行时旋转15个代理。我想问题是我应该在settings.py中为干净的页面启用或禁用cookie,还是它不相关 我想如果我启用了它,网站会知道IP的历史,在某一点后注意到模式,不会允许它(这是我的猜测),所以我应该禁用它??或者,关于cookie的工作原理以及它们的用途,甚至都不是这样。您如何访问这些URL,是否使用urllib库?如果是这样,您可能没有注意到,但urllib有一个默认

我从一些亚马逊网址上抓取数据,但当然有时我会得到验证码。我想知道启用/禁用cookies选项是否与此相关。我在爬行时旋转15个代理。我想问题是我应该在settings.py中为干净的页面启用或禁用cookie,还是它不相关


我想如果我启用了它,网站会知道IP的历史,在某一点后注意到模式,不会允许它(这是我的猜测),所以我应该禁用它??或者,关于cookie的工作原理以及它们的用途,甚至都不是这样。您如何访问这些URL,是否使用urllib库?如果是这样,您可能没有注意到,但urllib有一个默认的用户代理。用户代理是HTTP请求(存储在标头中)的一部分,它标识用于访问页面的软件类型。这允许网站在不同的浏览器上正确显示其内容,但也可以用来确定您是否使用了自动程序(他们不喜欢机器人)

现在,默认的urllib用户代理告诉网站您正在使用python访问页面(通常是一个大禁忌)。你可以很容易地欺骗你的用户代理来阻止任何讨厌的验证码出现

headers = { 'User-Agent' : 'Mozilla/5.0' }
req = urllib2.Request('www.example.com', None, headers)
html = urllib2.urlopen(req).read()
因为您正在使用scrapy来抓取网页,所以可能需要更改settings.py文件,以便在那里更改用户代理

编辑

CAPTCHA可能到处出现的其他原因是因为你在网站上移动太快。如果您在url请求之间添加睡眠呼叫,那么这可能会解决您的验证码问题

出现验证码的其他原因:

  • 您正在单击蜜罐链接(位于html代码中但未显示在网页上的链接),这些链接旨在捕获爬虫
  • 您可能需要更改爬行模式,因为它可能被标记为“非人类”
  • 查看websites robots.txt文件,该文件显示了哪些是允许爬网的,哪些是不允许爬网的

我正在使用scrapy,我正在欺骗我的用户代理。我不确定这是否有助于启用/禁用Cookie,或者我应该在设置中使用哪种方式。py请参阅我的编辑,这可能是由于您在网页中爬行的速度。