文章截图均来自中国大学mooc Python网络爬虫与信息提取的教程,以上仅作为我的个人学习笔记。
下面是教程链接:https://www.icourse163.org/learn/BIT-1001870001?tid=1450316449#/learn/content?type=detail&id=1214620493&cid=1218397635&replay=true
信息标记的三种方式:世界上所有信息都可以用这三种方式进行组织和标记
- XML:标签tag、类似于HTML
- JSON:键值对、可以嵌套、有类型
- YAML:用缩进表达所属形式、减号表达并列关系、竖线表达整块数据的标记、无类型
信息标记的三种方式的比较
- XML:有效信息比例并不高、大部分信息都是标签
- JSON:需要用双引号表达他们的类型
- YAML:用无类型表示、可用很简洁的名字来表示相关的信息
直观比较:
实际应用中:
基于bs4库的HTML内容查找办法:
先把demo.html的文本信息保存在demo变量中:
提供了一个方法 :
- 首先是name:可以是单独的name、也可以是列表类型,里面有好多个name;如果标签名称是true,显示所有标签信息
- 按照自己的需求查看指定的标签类型的数据:需要用到正则表达式,要引用第三方库。
- attrs:属性、正则表达式搜索以link开头的数据
- recursive:是否对子孙进行全部检索,默认为true,改为false的话只查询儿子节点的信息。
- string:对标签之中的字符串域进行检索的字符串,使用正则表达式+findall函数结合。
- find_all()函数的简写、扩展方法
小结: