天天看点

scrapy-splash 爬虫渲染异步加载,ajax 1.安装和准备 2.配置代码

首先给出splash官网地址:http://splash.readthedocs.io/en/stable/api.html#render-html

(1)先安装scrapy-splash库:

(2)然后将我们的docker起起来

如果关于docker安装还有更多的问题,请查考:

<a target="_blank" href="http://splash.readthedocs.org/en/latest/install.html">splash安装文档</a>

(1)将splash server的地址放在你的settings.py文件里面,如果是你在本地起的,那地址应该是http://127.0.0.1:8050,我的地址如下

(2)在你的下载器中间件:download_middleware 里面启用如下的中间文件,注意启用的顺序

另外注意:

scrapy_splash.splashmiddleware(725)的顺序是在默认的httpproxymiddleware(750)之前,要不然顺序的紊乱会造成功能的紊乱的

httpcompressionmiddleware的优先级和顺序也应该适当的更改一下,这样才能更能处理请求  

(3)在settings.py启用splashdeduplicateargsmiddleware中间件

(4)我们来设置一个去重的类

(5)如果你使用scrapy http 缓存系统,那你就有必要启用这个scrapy-splash的缓存系统

   如果你有在你自己的settings.py里面启用default_request_headers ,请务必注释掉,目前看来是一个bug ,我已经给scrapy splash 官方提了这个bug

          该bug 是由于default_request_headers 里面的host 与我要爬的sougou不匹配,这当然会出错,不得不说scrapy的官方维护人反应真的很迅速。大家添加的headers的时候注意这些细节内容。