1、bs4库的安装
win平台上bs库的安装:以“管理员身份运行cmd”
执行 pip install beautifulsoup4来安装bs4库
2、bs4库的引用
主要使用BeautifulSoup 类:
from bs4 import BeautifulSoup:
或者直接 import bs4
BeautifulSoup对应一个HTML/XML的全部内容,会以标签树的形式存储
soup = BeautifulSoup('<html>data</html>','html.parser')
bs4库的prettify()方法:
为html文本及其内容增加‘\n’,使用方法为<tag>.prettify()
Tag是标签,最基本的信息组织单元
Name是标签的名字 <Tag>.name
Attributes是标签的属性 <Tag>.attrs
NavigableString是标签内的非属性字符串 <Tag>.string
Comment是标签内字符串的注释部分
标签树的下行遍历:
.contents 子节点的列表,将<tag>所有儿子节点存入列表
.children 子节点的迭代类型,与.contents类似,用于循环遍历儿子节点
.descendants 子孙节点的迭代类型,包含所有子孙节点,用于循环遍历
标签树的上行遍历:
.parent 节点的父亲标签
.parents 节点先辈标签的迭代类型,用于循环遍历先辈节点
标签树的平行遍历:
.next_sibling 返回按照HTML文本顺序的下一个平行节点标签
.previous_sibling 返回按照HTML文本顺序的上一个平行节点标签
.next_siblings 迭代类型,返回按照HTML文本顺序的后续所有平行节点标签
.previous_siblings 迭代类型,返回按照HTML文本顺序的前续所有平行节点标签
<>.find_all方法:
<>.find_all(name,attrs,recursive, string, **kwargs)
返回一个 列表类型,存储查找的结果
返回一个 列表类型,存储查找的结果
<tag>(..) 等价于<tag>.find_all(..)
soup(..) 等价于soup.find_all(..)