首页 > 其他 > 详细

scrapy基础知识之防止爬虫被反的几个策略::

时间:2017-06-09 12:15:27      阅读:621      评论:0      收藏:0      [点我收藏+]

动态设置User-Agent(随机切换User-Agent,模拟不同用户的浏览器信息)

禁用Cookies(也就是不启用cookies middleware,不向Server发送cookies,有些网站通过cookie的使用发现爬虫行为)(可以通过COOKIES_ENABLED 控制 CookiesMiddleware 开启或关闭)

设置延迟下载(防止访问过于频繁,设置为 2秒 或更高)

Google Cache 和 Baidu Cache:如果可能的话,使用谷歌/百度等搜索引擎服务器页面缓存获取页面数据。

使用IP地址池:VPN和代理IP,现在大部分网站都是根据IP来ban的。

使用 Crawlera(专用于爬虫的代理组件),正确配置和设置下载中间件后,项目所有的request都是通过crawlera发出。

    DOWNLOADER_MIDDLEWARES = { ‘scrapy_crawlera.CrawleraMiddleware‘: 600 }

     CRAWLERA_ENABLED = True   

     CRAWLERA_USER = ‘注册/购买的UserKey‘

     CRAWLERA_PASS = ‘注册/购买的Password‘

设置下载中间件:下载中间件是处于引擎(crawler.engine)和下载(crawler.engine.download())之间的一层组件,可以有多个下载中间件被加载运行。

   当引擎传递请求给下载器的过程中,下载中间件可以对请求进行处理 (例如增加http header信息,增加proxy信息等);

   在下载器完成http请求,传递响应给引擎的过程中, 下载中间件可以对响应进行处理(例如进行gzip的解压等)

要激活下载器中间件组件,将其加入到 DOWNLOADER_MIDDLEWARES 设置中。 该设置是一个字典(dict),键为中间件类的路径,值为其中间件的顺序(order)。  

settings.py

DOWNLOADER_MIDDLEWARES = {
    ‘mySpider.middlewares.MyDownloaderMiddleware‘: 543,
}

 

scrapy基础知识之防止爬虫被反的几个策略::

原文:http://www.cnblogs.com/huwei934/p/6971404.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!