Python网络爬虫【持续更新】-BeautifulSoup库的使用

什么是BeautifulSoup

Beautiful Soup是一个Python包,功能包括解析HTML、XML文档、修复含有未闭合标签等错误的文档(此种文档常被称为tag soup)。这个扩展包为待解析的页面创建一棵树,以便提取其中的数据,这在网络数据采集时非常有用.

BeautifulSoup的基本用法

解析器

Python网络爬虫【持续更新】-BeautifulSoup库的使用

基本元素

Python网络爬虫【持续更新】-BeautifulSoup库的使用
基本元素在html文档中的位置:
Python网络爬虫【持续更新】-BeautifulSoup库的使用

遍历方式

遍历方式有上行遍历、下行遍历和平行遍历。不同的功能需要利用到不同的遍历方式。
Python网络爬虫【持续更新】-BeautifulSoup库的使用
下行遍历对应的功能(contents和children的效果一致,只是返回的对象类型不一样,并且他们返回的都是直接儿子节点,descendants返回的是所有的子孙节点)
Python网络爬虫【持续更新】-BeautifulSoup库的使用

上行遍历对应的功能(parent返回的是直接先辈标签,parents返回的是所有的先辈)
Python网络爬虫【持续更新】-BeautifulSoup库的使用
平行遍历对应的功能(注意,这里的平时遍历,必须是发生在同一个父亲节点下的平行遍历,如下图就不是平行遍历)
Python网络爬虫【持续更新】-BeautifulSoup库的使用
Python网络爬虫【持续更新】-BeautifulSoup库的使用
总结
Python网络爬虫【持续更新】-BeautifulSoup库的使用

HTML格式化和编码

soup.prettify()函数可以解析HTML,将每一个标签和内容后面都加上/n换行符。

beautifulSoup将所有的HTML文件都转换成了UTF-8编码,所以中文字符可以很方便的在程序中显示出来。(注意Python3以上默认UTF-8编码,Python3以下建议更新到Python3)