环境

Python 3.7.6
BeautifulSoup 4.8.2

基础

安装

pip install BeautifulSoup4

引入

from bs4 import BeautifulSoup

解析器

html.parser: 自带
lxml: pip install lxml
xml: pip install xlml
html5lib: pip install html5lib

基本元素

Tag: 标签,<html>...</html>,tag = <html>...</html>
Name: 标签名字,<p>...<p>,tag.name = p
Attributest: 标签的属性,<a href='test'>,tag.attrs = ['href': 'test'],tag.attrs['href'] = test
NavigableString: 标签内的非属性字符串,标签中的字符串,<p>test</p>,tag.string = test
Comment: 标签内字符串的注释部分,有坑后面补

遍历方式

下行遍历

.contents,子节点,列表类型,一子节点的所有信息将被存为列表中的一个元素,换行符,字符串等独立代码均占一个元素
.children,子节点,迭代类型,可循环遍历子节点信息
.descendants,子孙节点,迭代类型,可循环遍历子孙节点信息

上行遍历

.parent,父节点,列表类型,
.parents,先辈节点,迭代类型,可循环遍历所有先辈节点信息,soup的先辈节点为None

平行(兄弟)遍历

同一父节点下才可
.next_sibling,下一个平行节点标签
.previous_sibling,上一个平行节点标签
.next_siblings,后面的所有平行节点标签,迭代类型
.previous_siblings,前面的所有平行节点标签,迭代类型

方法

.prettify(),增加换行符,配合print(),可更直观显示html代码

使用

from bs4 import BeautifulSoup
html = '<html><p class="test" id="p1">测试文本<a href="https://yudelei.com">雨的泪</a></p></html>'
soup = BeautifulSoup(html, 'html.parser')
soup.name # 
soup.p.name #
soup.p.string #
soup.string #
soup.p.parent #
最后修改:2020 年 08 月 24 日 11 : 09 PM
如果觉得文章帮助了您,您可以随意赞赏。