codecamp

scrapy 2.3 避免被禁止

一些网站实施了某些措施,以防止僵尸爬行他们,不同程度的复杂度。绕开这些措施既困难又棘手,有时可能需要特殊的基础设施。请考虑联系 commercial support 如果有疑问。

以下是处理此类网站时要记住的一些提示:

  • 将你的用户代理从浏览器中的一个著名的池中轮换出来(用google搜索以获得一个列表)。
  • 禁用cookies(请参见 ​COOKIES_ENABLED​ )因为有些网站可能会使用cookie来发现机器人行为
  • 使用下载延迟(2或更高)。见 ​DOWNLOAD_DELAY​ 设置。
  • 如果可能,使用 Google cache 获取页面,而不是直接访问站点
  • 使用一个旋转的IP池。例如,自由 Tor project 或者像这样的付费服务 ProxyMesh . 开源替代方案是 scrapoxy ,可以将自己的代理附加到的超级代理。
  • 使用一个在内部绕过BAN的高度分布式下载程序,这样您就可以专注于解析干净的页面。这种下载器的一个例子是 Crawlera

如果您仍然无法阻止您的bot被禁止,请考虑联系 commercial support .

scrapy 2.3 分布式爬行
scrapy 2.3 使用权利
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

scrapy 2.3 链接提取器

scrapy 2.3 统计数据集合

scrapy 2.3 发送电子邮件

scrapy 2.3 蜘蛛合约

scrapy 2.3 如何部署蜘蛛

scrapy 2.3 AutoThrottle扩展

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }