Beautiful Soup的使用
来源:互联网 发布:农业科技网络书屋app 编辑:程序博客网 时间:2024/05/23 00:28
- 编码
- 属性
- Tag
- 文档树操作
- 过滤器
- 字符串
- 正则表达式
- 列表
- 方法
- find_all
- find
- 修改文档
编码
任何HTML或XML文档都有自己的编码方式,比如ASCII 或 UTF-8,但是使用Beautiful Soup解析后,文档都被转换成了Unicode:
通过Beautiful Soup输出文档时,不管输入文档是什么编码方式,输出编码均为UTF-8编码
智能检测编码
dammit = UnicodeDammit(“Sacr\xc3\xa9 bleu!”)
print(dammit.unicode_markup)
属性
Beautiful Soup将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,所有对象可以归纳为4种: Tag , NavigableString , BeautifulSoup , Comment .
Tag
tag.name 显示标签名称,可以获取或设置
tag[‘class’] 获取class属性,可添加修改删除
tag.string tag中的字符串
tag.get_text() 获取tag中的文本内容
文档树操作
soup.a 第一个a节点.非常方便的获取节点
soup.contents 列出所有子节点,列表
过滤器
过滤器可以被用在tag的name中,节点的属性中,字符串中或他们的混合中.
字符串
Beautiful Soup会查找与字符串完整匹配的标签
soup.find_all('b')<b>The Dormouse's story</b>
str(soup) 和unicode(soup),压缩输出,去掉格式,并可设置输出编码
get_text() 只返回文本内容
正则表达式
如果传入正则表达式作为参数,Beautiful Soup会通过正则表达式的 match() 来匹配内容.
列表
匹配与列表中任意元素匹配的内容
方法
方法只接受一个元素参数 ,如果这个方法返回 True 表示当前元素匹配并且被找到
def has_class_but_no_id(tag):return tag.has_attr('class') and not tag.has_attr('id')soup.find_all(has_class_but_no_id)<p class="title"><b>The Dormouse's story</b></p>,<p class="story">Once upon a time there were...</p>,<p class="story">...</p>
find_all
find_all() 方法搜索当前tag的所有tag子节点,并判断是否符合过滤器的条件.
find_all( name , attrs , recursive , string , **kwargs )
soup.find_all(“title”) 查找子元素中的title标签
soup.find_all(id=”link2”) 查找id属性是link2的标签。由于class是python关键词,使用class_代替
soup.find_all(“p”, “title”) p标签,class属性为title的元素
soup.find_all(string=”Elsie”) 搜索文档内容中有Elsie的标签
soup.find_all(“a”, limit=2) 只返回两条结构
soup.html.find_all(“title”, recursive=False) 只搜索直接节点
find
只返回一个结果的find_all.
修改文档
tag.name = “blockquote” 修改标签
tag[‘class’] = ‘verybold’ 修改属性
tag.string = “New link text.” 修改内容
soup = BeautifulSoup(” < a>Foo< / a>”)
soup.a.append(“Bar”) a标签中的内容变为FooBar
new_comment = soup.new_string(“Nice to see you.”, Comment)
tag.append(new_comment) 添加一段注释
tag.clear() 移除当前tag内容
i_tag = soup.i.extract() 将当前tag移出父标签,并返回
- Beautiful Soup的使用
- Beautiful Soup的使用
- Beautiful Soup的安装和使用
- Beautiful Soup使用
- Beautiful Soup 使用总结
- Beautiful Soup使用介绍
- Beautiful Soup的用法
- Beautiful Soup 的用法
- Beautiful Soup的用法
- 使用Beautiful Soup进行查找
- 使用Beautiful Soup解析dom
- Python中使用Beautiful Soup库的超详细教程
- Python中使用Beautiful Soup库的超详细教程
- Python中使用Beautiful Soup库的超详细教程
- Python爬虫之Beautiful Soup库的安装与使用
- 【python学习笔记】10:Beautiful Soup模块的使用
- Python中-Beautiful Soup库的基本使用
- Python中使用Beautiful Soup库的超详细教程
- 【物联网】 Yeelink开发平台注册
- lua脚本 打包与读取
- 参数估计
- android imageview 图片不能正常显示 或不能自适应的解决方法
- 合并排序解析
- Beautiful Soup的使用
- linux基本命令2--文件处理
- volatile原理
- CodeForces
- 事件循环机制
- HTML5 from表单实例
- springMVC注解配置事务失效的问题(精)
- android studio 2.2.2/2.3 调试ndk遇到的一个奇怪问题
- 接口测试 — postman 工具