Python全系列 教程
3567个小节阅读:5929k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
Beautiful Soup定义了很多搜索方法,这里着重介绍find_all() 其它方法的参数和用法类似
传入一个字符串参数,Beautiful Soup会查找与字符串完整匹配的内容
xxxxxxxxxx
#返回所有的div标签
print(soup.find_all('div'))
传入正则表达式作为参数,Beautiful Soup会通过正则表达式的 match() 来匹配内容
xxxxxxxxxx
#返回所有的div标签
print (soup.find_all(re.compile("^div")))
传入列表参数,Beautiful Soup会将与列表中任一元素匹配的内容返回
xxxxxxxxxx
#返回所有匹配到的span a标签
print(soup.find_all(['span','a']))
传入一个id 的参数,Beautiful Soup会搜索每个tag的”id”属性
xxxxxxxxxx
#返回id为welcom的标签
print(soup.find_all(id='welcome'))
True 可以匹配任何值,下面代码查找到所有的tag,但是不会返回字符串节点
传入一个css,通过 class_ 参数搜索有指定CSS类名的tag
xxxxxxxxxx
# 返回class等于info的div
print(soup.find_all('div',class_='info'))
xxxxxxxxxx
soup.find_all("div", attrs={"class": "info"})
soup.select(参数)
表达式 | 说明 |
---|---|
tag | 选择指定标签 |
* | 选择所有节点 |
#id | 选择id为container的节点 |
.class | 选取所有class包含container的节点 |
li a | 选取所有li下的所有a节点 |
ul + p | (兄弟)选择ul后面的第一个p元素 |
div#id > ul | (父子)选取id为id的div的第一个ul子元素 |
table ~ div | 选取与table相邻的所有div元素 |
a[title] | 选取所有有title属性的a元素 |
a[class=”title”] | 选取所有class属性为title值的a |
a[href*=”sxt”] | 选取所有href属性包含sxt的a元素 |
a[href^=”http”] | 选取所有href属性值以http开头的a元素 |
a[href$=”.png”] | 选取所有href属性值以.png结尾的a元素 |
input[type="redio"]:checked | 选取选中的hobby的元素 |
实时效果反馈
1. 关于beautifulsoup4,说法错误的是?
A find_all()
参数可以直接传递字符串
B find_all()
参数可以传递re.compile()正则表达式
C find_all()
参数可以直接传递CSS搜索
D select()
参数通过css表达式筛选数据
答案
1=>C