BeautifulSoup基本使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BeautifulSoup基本使用相关的知识,希望对你有一定的参考价值。

参考技术A

BeautifulSoup 官方文档 介绍:BeautifulSoup 是一个可以从HTML或XML文件中提取数据的Python库。使用BeautifulSoup更多方便,避免使用正则表达式容易出错,提高效率。

BeautifulSoup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,其中一个是 lxml。以下为BeautifulSoup官方文档对支持的解析器优缺点对比。

推荐使用lxml解释器,效率更高。 注意:不同的解析器返回不同的结果

通过解析器,BeautifulSoup可以传入一段字符串或文件。

Beautiful Soup将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,所有对象可以归纳为4种: Tag , NavigableString , BeautifulSoup , Comment 。接下来使用以下文档进行说明。

可以看到a点只是返回第一个,如果需要历遍全部则需要用find_all(\'a\')。
tag有多种属性,其中两个最重要的就是name和attributes。name一般返回标签本身(soup返回document), 注意,tag属性操作方法和字典一样。

上面说到节点选择可以直接利用标签,如<head>标签用soup.head,也可通过name和attrs可以直接获取属性,操作和字典一样。以上是直接获取的方式,当想要获取标签的子节点、父节点、兄弟节点则需要通过另外的方法。

.children 是一个llist生成器,可以对子节点进行历遍循环

.descendants 是返回所有子孙节点,比较children和descendants的输出区别

以上是关于BeautifulSoup基本使用的主要内容,如果未能解决你的问题,请参考以下文章

如何仅使用BeautifulSoup和Python删除包含空格的HTML标记

用requests库和BeautifulSoup4库爬取新闻列表

BeautifulSoup获取指定class样式的div

用requests库和BeautifulSoup4库爬取新闻列表

用requests库和BeautifulSoup4库爬取新闻列表

Python爬虫:想听榜单歌曲?只需要14行代码即可搞定