信息组织与提取方法

来源:互联网 发布:小鸟云服务器知乎 编辑:程序博客网 时间:2024/06/06 09:05


信息的标记
1/标记后的信息可形成信息组织结构,增加了信息维度
2/标记后的信息可用于通信/存储/展示
3/标记的结构与信息一样具有重要价值
4/标记后的信息更利于程序理解和运用

HTML(HyperText Markup Language)

信息标记的三种形式:
XML(eXtensible Markup Language),
与html接近,采用以标签为主构建信息的方式
JSON(JavaScript Object Notation),
js语言中对面向对象信息的一种表达形式
有类型的键值对构建的信息表达方式 key:value
无论是键还是值都需要加""表达它是字符串形式,如果是数字直接写下
一个键可对应多个值"name":["北京理工大学","延安自然科学院"]
键值对之间可以嵌套使用"name":{"newname":"北京理工大学","oldname":"延安自然科学院"}
对于js等程序语言json格式可直接作为程序一部分
YAML(YAML Ain't Markup Language)
无类型键值对来组织信息 name:北京理工大学
可通过缩进来表达键值关系
name:
NEWNAE:北京理工大学
OLDNAME:延安自然科学院
可用-表达并列关系
name:
-北京理工大学
-延安自然科学院
用|表示整块数据,#表示注释

三种信息标记形式的比较
XML
最早的通用标记语言,可扩展性好,但繁琐
Internet上的信息交互与传递
JSON
信息有类型,适合程序处理JS,较XML简介
移动英语呢云端和节点的信息通信中,无注释(应用在程序对节点处理的地方)
YAML
信息无类型,文本信息比例最高,可读性好
各类系统的配置文件,有注释易读

信息提取的一般方法
1/
完整解析信息的标记形式(JSON XML YAML),再提取关键信息
需要标记解析器
例:bs4库的标签书遍历
优点:信息解析准确
缺点:提取过程繁琐,速度慢
2/
无视标记形式,直接搜索关键信息。
对信息的文本查找函数即可。
优点:提取过程简洁,速度较快。
缺点:提取结果准确性与信息内容相关。
3/
融合方法:结合形式解析与搜索方法,提取关键信息
需要标记解析器及文本查找函数

<>.find_all(name,attrs,recursive,string,**kwargs)

返回一个列表类型,存储查找的结果。
name:对标签名称的检索字符串。
soup.find_all(['a','b'])
soup.find_all(‘a’)
for tag in soup.find_all(True):
print(tag.name)#打印文档中所有标签名称
attrs:对标签属性值的检索字符串,可标注属性检索
recursive:是否对子孙全部检索,默认true
soup.find_all('a',recursive=False)
string:<>...</>中字符串区域的检索字符串

<tag>(...)==<tag>.find_all(...)
soup(...)==soup.find_all(...)



0 0
原创粉丝点击