- BS4之如何搜索文档树
非结构化的数據:HTML等
处理方法:正则表达式、xpath
结构化数据:json、xml等
处理方法:转换为python数据类型
json就是一个字典:是一种轻量级的数据交换格式
json 与语言无关,可以与各种语言进行转换的
AJAX:异步JavaScript和XML可以实现网页的异步更新,不需要刷新网页就可以进行网页的加载
获取AJAX数据的方式:
- 直接分析ajax調用的接口,然后通过代码请求这个接口
- 使用selenium (网页自动化测试工具)+ Chromedriver(Chrome浏览器驱动器)模拟浏览器的行为进行获取数据。(方式比较过時、模拟人点击、效率低下)有些网站限制的过多可以使用
- python式的函数用来处理导航、搜索、修改分析树等功能
- 自动将输入文档转换成Unicode编碼,输出文档转换为utf-8编码
- 不需要考虑编码方式重新原始编码方式。
-
.children:返回一个可迭代对象 .descendants属性可以对所有tag的子孙节点进行递归循环和children類似,我们也需要遍历获取其中内容 .string:返回标签里面的内容
.text:返回标签的文本
- 传入True:找到所有的Tag:
- 通过text参数可以搜索文档中的字符内容
- 限定查找个数limit参数
- 搜索当前节点的父辈节点 , 搜索方法与普通 tag 的搜索方法相同 , 搜索文档搜索文档包含的内容
- 对当 tag 的所有后面解析的兄弟 tag 节点進行迭代
- 对当前 tag 的前面解析的兄弟 tag 节点进行迭代
- 对当前 tag 的之后的 tag 和字符串进行迭代
- 对当前节点前面的 tag 和字符串进行迭代