2.2 信息组织与提取方法
1.信息标记的三种形式
信息标记的作用:
(1)可以形成信息组织结构,增加信息维度。
(2)可用于通信、存储或展示。
(3)标记的结构与信息一样具有重要价值。
国际通用信息标记三种形式有:XML(类似于HTML)、JSON(有类型键值对)、YAML(无类型键值对)。
2.三种信息标记形式的比较
一段信息,用XML表示:
JSON版本:
YAML实例:
firstname:Tian
lastname:Song
address:
streetAddr:中关村南大街5号
City:北京市
zipcode:100081
prof:
-Computer System
-Secuity
下面对三种类型进行比较:
(1)XML是最早的通用信息标记语言,可扩展性好,但比较繁琐。在Internet上使用。
(2)JSON信息有类型,适合程序处理(js),较XML简洁。移动应用云端和节点的信息通信,无注释。
(3)YAML信息无类型,文本信息比例最高,可读性好。各类系统的配置文件,有注释,易懂。
3.信息提取的一般方法
方法一:W按照解析信息的标记形式,再提取关键信息。需要标记解析器,优点是信息解析准确,缺点是提取过程繁琐,速度慢。(XML/JSON/YAML均适用)
方法二:无视标记形式,直接搜索关键信息。优点是提取过程简洁,速度较快;缺点是提取结果准确性与信息内容相关。
融合方法:结合形式解析与搜索方法,提取关键信息。需要标记解析器及文本查找函数。
例如输入:
结果为
http://www.icourse163.org/course/BIT-268001
4.基于bs4库的HTML内容查找方法
(1)方法:.find_all(name,attrs,recursive,string,**kwargs):返回一个列表类型,存储查找的结果。
①.name:对标签名称的检索字符串。
如果参数列表我们使用True,将返回所有的标签名称。
如果我们想显示b开头标签的内容,可以使用正则表达式库来实现,代码如下:
这样返回的结果是:
body
b
②.attrs:对标签属性值的检索字符串,可标注属性检索。
③recursive:是否对子孙全部检索,默认为True。
④string:…中字符串渔区的检索字符串。(..)等价于.find_all(),这是一种简写。
⑤**kwargs:7种扩展方法。见表2.1
表2.1 扩展方法
领取专属 10元无门槛券
私享最新 技术干货