抓取时我应该启用cookies吗

2024-05-14 20:00:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我从亚马逊的网址上抓取数据,当然有时候我会得到验证码。我想知道启用/禁用cookies选项是否与此有关。我在爬行时旋转15个代理。我想问题是我应该在设置.py是为了干净的页面还是不需要清洗?在

我想如果我启用它,网站会知道的历史知识产权做什么,并在某一点后,注意到模式,不会允许它(这是我的猜测),所以我应该禁用它??或者这甚至不是关于曲奇是如何工作的以及它们是用来做什么的


Tags: 数据py代理网站选项模式知识产权页面
1条回答
网友
1楼 · 发布于 2024-05-14 20:00:36

你是如何访问这些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来抓取网页,你可能需要对你的设置.py文件,以便您可以在那里更改用户代理。在

编辑

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

验证码出现的其他原因:

  • 你正在点击蜜罐链接(链接在html代码内,但不显示在网页上)设计来捕捉爬虫。在
  • 你可能需要改变爬行的模式,因为它可能被标记为“非人类”。在
  • 查看网站机器人.txt显示允许和不允许爬网的内容的文件。在

相关问题 更多 >

    热门问题