您的位置: 首页 > 新闻资讯 > 正文

怎么提高Python爬虫采集速度的方法

发布时间:2018-12-17 14:46:20 来源:互联网

采集一些数据,花上一两个小时还好,但如果需要采集大量的数据,按照这速度来采集,要何年何月才能采集完呢?能不能提高一下Python爬虫采集速度呢?下面小编跟大家分享一下怎么提高Python爬虫采集速度的方法。

想要提高Python爬虫采集速度,可以根据爬虫结构分析,然后再具体分析问题:

image.png

1.单线程改多线程

单线程采集速度确实慢,可以考虑使用多线程,增加多线程的特性是最具性价比的了,而且花不了多少开发的时间。不过后续的问题可能就比较多了。代码也不是几行能搞定的了。

2.单进程改多进程

单进程,则瓶颈多出在CPU上。多进程的话可以高效利用CPU。但是其实多数情况是在网络,所以说更好的解决办法是用多个机房的多台机器同时跑多进程的爬虫,这样减少网络阻塞。

实现的话,用scrapy+rq-queue然后用redis来作队列就好。

1545029523630427.png

3.换个带宽高的环境

本地带宽的瓶颈,通过云服务器解决,定时定量的去购买使用可以节约成本(毕竟不是搜索引擎不会一直开着的)。

目标服务器的带宽限制(基于IP的)通过跨区的服务器解决,云服务器提供商有多个机房的,分散节点所在的机房可以缓解问题,有提供动态ip的就更好了。或者使用代理IP进行IP切换,比如黑洞代理。先使用一批IP,进行访问,在被封之前更换另一批,达到循环使用的目的。

上文详细的介绍了怎么提高Python爬虫采集速度,通过多线程与多进程,可以有效的提高爬虫的采集速度,达到大规模采集数据的要求。


相关文章内容简介

1 怎么提高Python爬虫采集速度的方法

采集一些数据,花上一两个小时还好,但如果需要采集大量的数据,按照这速度来采集,要何年何月才能采集完呢?能不能提高一下Python爬虫采集速度呢?下面小编跟大家分享一下怎么提高Python爬虫采集速度的方法。想要提高Python爬虫采集速度,可以根据爬虫结构分析,然后再具体分析问题:1.单线程改多线程单线程采集速度确实慢,可以考虑使用多线程,增... [阅读全文]

最新标签

在线咨询
大客户经理
大客户经理
13318873961

大客户经理微信

微信公众号

微信公众号

回到顶部