目标捉取网页外链,递归循环实现。一遍历单个域名网页爬虫,就是对目标网页进行捉取,然后遍历到数据信息,然后有链接的继续遍历,如此回调。第一步:将页面的所有链接获取
运行效果图
发现会存在些没用用的数据,有些href的值只是作为页面块的跳转,我们可以使用正则表达式进行优化过滤掉,只获取带有HTML结尾的链接
第二步:递归获取网页第一步我们基本把一个网页的所有链接地址获取到,第二步显然是获取这些链接网页的链接,进一步获取这些网页数据。例如我们在Wiki获取Python词条下面的相关词条的链接,由于存在不是我们关心的链接,所有需要正则表达式过滤掉一部分,然后大量的链接的链接的链接,我们不可能穷尽,所有随机获取一些词条。
运行结果(一分钟150条数据产生,如非手动停止应该不会停止爬取)
二采集整个网站对整个站点进行所有链路采集,当然像wiki这些大型网站数据很多,要全部采集基本不可能。
运行结果
递归爬取网页原理:
三采用Scrapy采集高楼大厦都是从最简单的一砖一瓦叠起来,写网络爬虫也是很多简单的重复的操作组成,找到页面的关键信息和外链,然后再如此循环。而Scrapy库,可以大幅度降低网页链接查找(不用自己去搞一大堆的过滤条件和正则表达式)还可以降低识别的工作复杂度。
报错,安装scrapy,cmd-pipinstallscrapy
报错,没有安装visual14重新安装成功,再次执行scrapystartprojecttutorial创建成功后,目录结构如下
第二步定义数据源,修改item(参考官网)
第三步创建爬虫class(参考官网)
第四步进入spider目录,然后运行爬虫报错,缺少win32库
pipinstallpywin32
再次运行成功
领取专属 10元无门槛券
私享最新 技术干货