位置: 编程技术 - 正文
推荐整理分享Python爬虫包 BeautifulSoup 递归抓取实例详解(python爬虫系统),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:python爬虫用到的包,python爬虫工具包,python爬虫用到的包,python爬虫常用包,python爬虫工具包,python爬虫常用包,python爬虫包有哪些,python爬虫包下载,内容如对您有帮助,希望把文章链接给更多的朋友!
Python爬虫包 BeautifulSoup 递归抓取实例详解
概要:
爬虫的主要目的就是为了沿着网络抓取需要的内容。它们的本质是一种递归的过程。它们首先需要获得网页的内容,然后分析页面内容并找到另一个URL,然后获得这个URL的页面内容,不断重复这一个过程。
让我们以维基百科为一个例子。
我们想要将维基百科中凯文·贝肯词条里所有指向别的词条的链接提取出来。
上面这个代码能够将页面上的所有超链接都提取出来。
首先,提取出来的URL可能会有一些重复的
其次,有一些URL是我们不需要的,如侧边栏、页眉、页脚、目录栏链接等等。
所以通过观察,我们可以发现所有指向词条页面的链接都有三个特点:
它们都在id是bodyContent的div标签里 URL链接不包含冒号 URL链接都是以/wiki/开头的相对路径(也会爬到完整的有http开头的绝对路径)其中getLinks的参数是/wiki/<词条名称>,并通过和维基百科的绝对路径合并得到页面的URL。通过正则表达式捕获所有指向其他词条的URL,并返回给主函数。
主函数则通过调用递归getlinks并随机访问一条没有访问过的URL,直到没有了词条或者主动停止为止。
这份代码可以将整个维基百科都抓取下来
一般来说Python的递归限制是次,所以需要人为地设置一个较大的递归计数器,或者用其他手段让代码在迭代次之后还能运行。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
利用python实现命令行有道词典的方法示例 前言由于一直用Linux系统,对于词典的支持特别不好,对于我这英语渣渣的人来说,当看英文文档就一直卡壳,之前用惯了有道词典,感觉很不错,虽然
利用Python脚本生成sitemap.xml的实现方法 安装lxml首先需要pipinstalllxml安装lxml库。如果你在ubuntu上遇到了以下错误:#include"libxml/xmlversion.h"compilationterminated.error:command'x_-linux-gnu-gcc'failedwithexitstatu
利用python画一颗心的方法示例 前言Python一般使用Matplotlib制作统计图形,用它自己的说法是‘让简单的事情简单,让复杂的事情变得可能'。用它可以制作折线图,直方图,条形图,散
标签: python爬虫系统
本文链接地址:https://www.jiuchutong.com/biancheng/380024.html 转载请保留说明!友情链接: 武汉网站建设