今天要实现的是《爬虫120例》中的第28例,采用的技术方案为多线程+队列。
目标站点分析
本次要抓取的目标站点为:\u4e2d\u4ecb\u7f51
,这个网站提供了网站排行榜、互联网网站排行榜、中文网站排行榜等数据。
网站展示的样本数据量是 :58341。
采集页面地址为 Python爬虫地址自己找/top/rank_all_1.html
,UI如下所示:
由于页面存在一个【尾页】超链接,所以直接通过该超链接获取累计页面即可。
其余页面遵循简单分页规则:
Python爬虫地址/top/rank_all_1.html
Python爬虫地址/top/rank_all_2.html
基于此,本次Python爬虫的解决方案如下,页面请求使用 requests
库,页面解析使用 lxml
,多线程使用 threading
模块,队列依旧采用 queue
模块。
编码时间
在正式编码前,先通过一张图将逻辑进行