Python Bs4 回顾
2021-06-16 16:03
标签:div val col 部分 选择器 字符串 使用 选择 默认 BeautifulSoup name –> tag名 两方法用法相似这里以find_all()为例。 简写 find_parents() 和 find_parent() 搜索当前节点的父节点 find_next_siblings() 和 find_next_sibling() 搜索当前节点后边解析的兄弟节点 find_previous_siblings() 和 find_previous_sibling() 搜索当前节点前边解析的兄弟节点 find_all_next() 和 find_next() 对当前节点之后的节点进行迭代 find_all_previous() 和 find_previous() 对当前节点之前的节点进行迭代 Python Bs4 回顾 标签:div val col 部分 选择器 字符串 使用 选择 默认 原文地址:https://www.cnblogs.com/ZaraNet/p/9726572.html
bs4主要使用find()方法和find_all()方法来搜索文档。
find()用来搜索单一数据,find_all()用来搜索多个数据find_all()与find()
string –> 内容
recursive –>是否搜索所有子孙节点 默认为true 设为false只搜索子节点#搜索tag名
soup.find_all("a")
#等价于
soup("a")
soup.title.find_all(string=True)
#等价于
soup.title(string=True)
CSS选择器
Beautiful Soup支持大部分的CSS选择器
#搜索tag为title
soup.select("title")
#通过tag标签逐层查找
soup.select("html head title")
#寻找直接子标签
soup.select("head > title")
soup.select("p > #link1")
#选择所有紧接着id为link1元素之后的class为sister的元素
soup.select("#link1 + .sister")
#选择p元素之后的每一个ul元素
soup.select("p + ul")
#同时用多种CSS选择器查询元素
soup.select("#link1,#link2")
#通过查询元素属性
soup.select(‘a[href="http://example.com/elsie"]‘)
# [Elsie]
soup.select(‘a[href^="http://example.com/"]‘)
# [Elsie,
# Lacie,
# Tillie]
soup.select(‘a[href$="tillie"]‘)
# [Tillie]
soup.select(‘a[href*=".com/el"]‘)
# [Elsie]
#通过查询元素属性结束
#通过语言查找
soup.select(‘p[lang|=en]‘)
#查找第一个元素
soup.select_one(".sister")
find_其他
#查找一个标签a
a = soup("a", id="link1")
#查找a的父节点中的P标签
a_string.find_parent("p")
(可以理解为搜索当前标签下边的同级节点)
(可以理解为搜索当前标签上边的同级节点)
上一篇:python面试题(三)