什么方法可以提高爬虫工作效率?
http吧
全部回复
仅看楼主
level 5
bhs0412 楼主
爬虫动物已成为各行各业从业人员的一项必备技能。不管是从事科技、产品、数据分析、财务或者创业公司的冷启动,都想要用爬虫抓取数据。这类大规模爬虫的核心问题是效率。对于爬虫优化来说,如何在较短的时间内获取更多的数据。
1、尽可能减少拜访次数。
单爬虫任务的主要时间是在网络请求的等待响应上,因此如果可以减少网络请求,请求将会尽可能地减少,这样可以减轻目标站点的压力和减轻代理服务器的压力,同时可以减少自己的工作量,提高工作效率。
2、简化流程,减少重复。
严格地说,大部分站点并非没有交叉的树状结构,而是多重交叉的网状结构,使得从多个入口深入网页会有很多重复,一般根据URL或ID来做出唯一的判断,爬过的网页就不必爬了。如果可以在一个或多个页面中获取某些数据,那么只选择在一个页面中进行获取。
3、多线程。
IO阻塞是大量爬虫任务,多线程并发有效地提高了总体速度。多线程可以较好地提高资源利用率,程序设计更加稳健,程序响应更快。
4、分布任务。
上述三点都做到了极致,但单位时间内每台机器能爬到的网页数不足以达到目标,无法在规定的时间内及时完成任务,只能多机同时完成爬虫任务,这就是分布式爬虫。比如有100W的页面要爬,可以用5台机器分别爬过20W的页面,互不重复,比单台机器少5倍。
2021年09月17日 08点09分 1
1