Beautiful Soup安装引用
Beautiful Soup库是解析、遍历、维护“标签树”的功能库
win10环境下用管理员权限启动cmd命令台,输入
pip install beautifulsoup4
命令进行下载安装。
在idle中用
from bs4 import BeautifulSoup
进行引用
Beautiful Soup的属性
Beautiful Soup库解析器
解析器 | 使用方法 | 使用条件 |
---|---|---|
bs4的HTTP解析器 | Beautiful Soup(mk,‘html.parser’) | 安装bs4库 |
lxml的HTML解析器 | Beautiful Soup(mk,‘lxml’) | pip install lxml |
lxml的XML解析器 | Beautiful Soup(mk,‘xml’) | pip install lxml |
html5lib解析器 | Beautiful Soup(mk,‘htlm5lib’) | pip install html5lib |
Beautiful Soup类的基本元素
基本元素 | 说明 | 获取方式 |
---|---|---|
Tag | 标签,用<>和</>开头和结尾 | .tag |
Name | 标签的名字<>中间的字符即名字 | .name |
Attributes | 标签的属性,字典,格式:.attrs | .attrs |
NavigableString | 标签内容 | |
Comment | 标签内的注释 | .string |
HTML遍历方式
下行遍历
属性 | 说明 |
---|---|
.contents | 节点的子节点列表,将节点信息存入列表 |
.children | 子节点的迭代类型,与.contents类似,用于循环遍历儿子节点 |
.descendants | 子孙节点的迭代类型,包含子孙节点,用于遍历 |
上行遍历
属性 | 说明 |
---|---|
.parent | 节点的父亲标签 |
.parents | 节点先辈标签 |
平行遍历
属性 | 说明 |
---|---|
.next_sibling | 返回按照HTML文本顺序的下一个平行节点标签 |
.previous_sibling | 返回文本顺序的上一个平行节点标签 |
.next_siblings | 迭代 |
.previous_siblings | 迭代 |
<>.find_all的使用
<>.find_all(name,attrs,recursive,string,**kwatgs)
'''
返回一个列表类型,存储查找结果
name:对标签名称的检索字符串(True显示所有标签)
attrs:对标签属性值的检索字符串
recursive:是否对子孙全部检索,默认True
string:对标签中字符串区域进行检索
'''
拓展方法
<'tag>(…) 等价于 <‘tag>.find_all(…)
soup(…) 等价于 soup.find_all(…)
方法 | 说明 |
---|---|
<>find() | 搜索且只返回一个结果 |
<>find_parents() | 在先辈节点中搜索,返回列表 |
<>find_parent() | 在先辈节点中返回一个解锁,字符串 |
<>find_next_siblings() | 在后续平行节点中搜索,返回列表 |
<>find_next_sibling() | 在后续平行节点中返回一个结果,字符串 |
<>find_previous_siblings() | 在前序平行节点中搜索,返回列表 |
<>find_previous_sibling() | 在前序平行节点返回一个结果,字符串 |