信息标记的三种形式
XML eXtensible Markup Language 扩展标记语言
JSON JavaScript Object Notation 有类型的键值对 key:value
YAML YAML Ain’t Markup Language 无类型键值对 key:value
信息标记的三种形式比较
XML :最早的通用信息标记语言,可扩展性好,但繁琐。
Internet上的信息交互与传递。
JSON:信息有类型,适合程序处理(js),较XML简洁。
移动应用云端和节点的信息通信,无注释。
YAML:信息无类型,文本信息比例最高,可读性好。
各类系统的配置文件,有注释已读
信息提取的一般方法
方法一:完整解析信息的标记形式,再提取关键信息。
需要标记解析器,例如:bs4库的标签树遍历
优点:信息解析准确
缺点:提取过程繁琐,速度慢。
方法二:无视标记形式,直接搜索关键信息。
搜索:对信息的文本查找函数即可。
优点:提取过程简洁,速度较快。
缺点:提取结果准确性与信息内容相关。
融合方法
结合形式解析与搜索方法,提取关键信息。需要标记解析器及文本查找函数。
实例
提取HTML中所有URL链接
思路:1)搜索到所有的标签
2)解析标签格式,提取href后的链接内容。
import requests
from bs4 import BeautifulSoup
r = requests.get("http://python123.io/ws/demo.html")
demo = r.text
soup = BeautifulSoup(demo,'html.parser')
for link in soup.find_all('a'):
print(link.get('href'))