1 信息标记的三种形式
对信息做一定的标记,使得我们能够理解信息所反馈的真实含义。
- 信息的标记:
- 标记后的信息可形成信息组织结构,增加了信息维度
- 标记后的信息可用于通信、存储或展示
- 标记的结构与信息一样具有重要价值
- 标记后的信息更利于程序理解和运用
HTML的信息标记
HTML(超文本标记语言)通过的<>...</>标签形式组织不同类型的信息
国际公认的信息标记的三种形式:XML、JSON、YAML
XML:扩展标记语言,XML(eXtensible Markup Language)格式是基于 HTML 格式发展而来的一种通用的信息表达形式。
示例:
JSON:JavsScript Object Notation 由有类型的键值对(key:value)构建的信息表达形式。会出现利用键值对的嵌套使用、以及多值嵌套的形式。
一般形式: "key":"value"
一键多值: "key":["value1","value2"]
多个键值对:"key":{ "subkey":"subvalue",
"subsubkey":"subsubvalue"}
YAML:用无类型的键值对来组建信息。
一般形式:key:value
key: #缩进表达所属关系
key1:value1
key2:value2
key: #表示并列的信息
-key1:value1
-key2:value2
key:
subkey:subvalue
text | #表达整块数据,后面可接大段文字
2 三种信息标记形式的比较
- XML:最早的通用信息标记语言,可扩展性好,但繁琐。Internet 上的信息交互与传递。
- JASON:信息有类型,适合程序处理(js),较 XML 简洁。移动应用云端和节点的信息通信,无注释。常用于程序对接口处理的地方,JSON 数据在经过传输之后能够作为程序代码一部分,并被程序直接执行。
- YAML:信息无类型,文本信息比例最高,可读性好。各类系统的配置文件,有注释易读。
3 信息提取的一般方法
信息提取:从标记后的信息中提取所关注的内容
融合方法:
实例:提取HTML中所有URL链接
思路:1)搜索到所有 <a> 标签
2)解析 <a> 标签格式,提取 href 后的链接内容
4 基于 bs4 库的 HTML 内容查找方法
<>.find_all(name,attrs,recursive,string,**kwargs)
返回一个列表类型,存储查找的结果
- name:对标签名称的检索字符串
- attrs:对标签属性值的检索字符串,可标注属性检索
- recursive:是否对子孙全部检索,默认True。布尔类型的值,默认情况是从某一标签开始的后续所有子孙节点的信息。如果只需要搜索当前节点的儿子节点的信息我们可以将其置为False。
- string:<>..</>中字符串区域的检索字符串
find_all的使用在BeautifulSoup库中提供了两种等价形式
<tag>(..) 等价于 <tag>.find_all(..) soup(..) 等价于 soup.find_all(..)
扩展方法:
信息标记与提取方法知识小结