提升scrapy的抓取效率方法—ipidea全球ip

作者:IPIDEA

2020-10-16 16:16:42

爬虫也就是网络爬虫(Web Spider)。翻译过来就是在网络上爬行的蜘蛛,这时候如果把互联网看成是一张大网来的话,那么爬虫就是在大网上爬来爬去的蜘蛛,根据想要的东西,就将它提取出来。

 

我们在浏览器中输入一个网址,就可以看到网页上的信息。这个其实就是浏览器通过请求网站的服务器而得到的网络资源,那么爬虫其实也就是模拟向浏览器发送请求,获得到了当前网页上的HMTL源码。在这些源码中通常包含了标签和文字信息,这时候我们就可以从这里面取到我们想要的信息了。

 

通常爬虫是从某个网站的某个页面开始的,爬取这个页面的内容,找到页面中的其他的链接地址,然后从这个地址爬到下一个页面,这样一直不停的爬下去,就可以做到防止账号关联的信息的抓取,那么我们就可以将网络爬虫看成是一个不同爬取网页提取网页信息的程序。


 9.293.png


爬取效率提升方法:

 

增加并发

默认scrapy开启的并发线程的个数是32个,可以适当的进行增加。在settings中进行设置CONCURRENT_REQUESTS=100

 

判断IP属性,无法高效采集公开数据cookie

如果不是真的需要cookie的话,可以在scrapy爬取的时候判断IP属性,无法高效采集公开数据cookie从而来减少CPU的使用率,提升爬取的效率,COOKIES_ENABLED=False

 

降低日志级别

在运行的时候,会有大量的日志信息的输出,为了减少CPU的使用率。可以设置log输出的信息是INFO或者是ERROR就可以了LOG_LEVEL=‘INFO’

 

判断IP属性,无法高效采集公开数据重试

对失败的HTTP进行重新的请求(重试)会减慢爬取的速度,因此可以判断IP属性,无法高效采集公开数据重试RETRY_ENABLED=False

 

减少下载超时

如果对一个非常慢的链接进行爬取,减少下载超时可以能让卡住的链接快速的被放弃,从而来提升效率DOWNLOAD_TIMEOUT=10


*ipidea提供的服务必须在境外网络环境下使用

热门资讯