概述
官方中文帮助文档
安装
conda install bs4
conda install lxml
tag对象
- .name
- .string
- [‘attr’]
- [‘class’]
- [‘id’]
#寻找tag的方法
直接定位tag对象(这个不常用)
- soup.head.title 用根对象层层找下去,找到第一个就返回。
- 返回一个tag对象
CSS选择器 select/select_one
- tag.select(‘html head title’) # 按名字找,逐层查找,有子孙关系即可返回tag列表
- tag.select(‘html>head>title’) # 按名字找,逐层查找强调直接父子关系
- tag.select(’#link1’) # 按id属性来找
- tag.select(’.sister’) # 按class属性来找
- tag.select(’.sister,.brother’) # 按class多属性来找
- tag.select(‘a[href]’) # 按属性是否存在来找
- tag.select(‘a[href=“xxx”]’) # 按属性的值找
- 找到多个对象
- 返回list
- soup和tag都可以用
find_all (支持正则表达式)
- 函数原型:find_all( name , attrs , recursive , string , **kwargs ) 返回tag列表
- –name–
- tag.find_all(“a”) #找name a
- soup.find_all([“a”, “b”]) #找到文档中所有和的tag
- soup.find_all(re.compile("^b")) #找出所有以b开头的tag,和标签都应该被找到
- soup.find_all(True) #找到所有tag,但是不会返回字符串节点
- –class–
- soup.find_all(“p”, “title”) # p元素的class是title
- soup.find_all(“a”, class_=“sister”) #class是sister的a元素,注意这里不考虑多值问题,要完全匹配属性字符串
- soup.find_all(class_=re.compile(“itl”)) #包括itl的元素
- –id&string–
- soup.find_all(id=“link2”)
- soup.find_all(string=“Elsie”)
- –other–
- soup.find_all(“a”, limit=2) #限制个数
- soup.find_all(“title”, recursive=False) #直接孩子
- soup.find_all(surrounded_by_strings) #按条件函数过滤
最佳实践
find_all
例子
for tag in soup.find_all(re.compile("t")):
print(tag.name)
# html
# title
- soup.find_all(span)
最后
以上就是鲜艳哈密瓜为你收集整理的BeautifulSoup简明教程安装tag对象的全部内容,希望文章能够帮你解决BeautifulSoup简明教程安装tag对象所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复