一、crawlera平台注册
首先申明,注册是免费的,使用的话除了一些特殊定制外都是free的。
1、登录其网站 https://dash.scrapinghub.com/account/signup/
填写用户名、密码、邮箱,注册一个crawlera账号并激活

crawlera账号并激活
2、创建Organizations,然后添加crawlear服务

然后点击 +Service ,在弹出的界面点击Crawlear,输入名字,选择信息就创建成功了。
创建成功过后点击你的Crawlear名字便可以看到API的详细信息。
二、部署到srcapy项目
1、安装scarpy-crawlera
pip install 、easy_install 随便你采用什么安装方式都可以
1 |
2、修改settings.py
如果你之前设置过代理ip,那么请注释掉,加入crawlera的代理
1 2 3 4 5 |
DOWNLOADER_MIDDLEWARES = { # <span class="hljs-string">'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware'</span>: <span class="hljs-number">110</span>, # <span class="hljs-string">'partent.middlewares.ProxyMiddleware'</span>: <span class="hljs-number">100</span>, <span class="hljs-string">'scrapy_crawlera.CrawleraMiddleware'</span>: <span class="hljs-number">600</span> } |
为了是crawlera生效,需要添加你创建的api信息(如果填写了API key的话,pass填空字符串便可)
1 2 3 |
<span class="hljs-attr">CRAWLERA_ENABLED</span> = <span class="hljs-literal">True</span> <span class="hljs-attr">CRAWLERA_USER</span> = <span class="hljs-string">'<API key>'</span> <span class="hljs-attr">CRAWLERA_PASS</span> = <span class="hljs-string">''</span> |
为了达到更高的抓取效率,可以禁用Autothrottle扩展和增加并发请求的最大数量,以及设置下载超时,代码如下
1 2 3 4 |
<span class="hljs-attr">CONCURRENT_REQUESTS</span> = <span class="hljs-number">32</span> <span class="hljs-attr">CONCURRENT_REQUESTS_PER_DOMAIN</span> = <span class="hljs-number">32</span> <span class="hljs-attr">AUTOTHROTTLE_ENABLED</span> = <span class="hljs-literal">False</span> <span class="hljs-attr">DOWNLOAD_TIMEOUT</span> = <span class="hljs-number">600</span> |
如果在代码中设置有 DOWNLOAD_DELAY的话,需要在setting.py中添加
1 |
<span class="hljs-attr">CRAWLERA_PRESERVE_DELAY</span> = <span class="hljs-literal">True</span> |
如果你的spider中保留了cookies,那么需要在Headr中添加
1 2 3 4 5 |
DEFAULT_REQUEST_HEADERS = { # <span class="hljs-string">'Accept'</span>: <span class="hljs-string">'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'</span>, # <span class="hljs-string">'Accept-Language'</span>: <span class="hljs-string">'zh-CN,zh;q=0.8'</span>, <span class="hljs-string">'X-Crawlera-Cookies'</span>: <span class="hljs-string">'disable'</span> } |
三、运行爬虫
这些都设置好了过后便可以运行你的爬虫了。这时所有的request都是通过crawlera发出的,信息如下
更多的crawlera信息请参考官方文档:http://doc.scrapinghub.com/index.html
