1 介绍
标记后的信息可形成信息组织结构,增加了信息维度
HTML的信息标记
文本、声音、图像、视频
HTML是WWW(World Wide Web)的信息组织方式
HTML通过预定义的<>…</>标签形式组织不同类型的信息
2 信息标记的形式
XML
中文名:可扩展标记语言
英文全称:eXtensible Markup Language
特点:使用标签表达信息
形式:
## 形式
<person>
<firstName>Tian</firstName>
<lastName>Song</lastName>
<address>
<streetAddr>中关村南大街5号</streetAddr>
<city>北京市</city>
<zipcode>100081</zipcode>
</address>
<prof>Computer System</prof><prof>Security</prof>
</person>
JSON
中文名:JavaScript 对象标记语言
英文全称:JavaScript Object Notation
特点:有类型的键值对表达信息
形式:
## 形式
“key” : “value”
“key” : [“value1”, “value2”]
“key” : {“subkey” : “subvalue”}
YAML
中文名:YAML是另一种标记语言
英文全称:YAML Ain't Markup Langguage
特点:无类型的键值对表达信息
## 形式
key : value
key : #Comment
‐value1
‐value2
key :
subkey : subvalue
3 三种标记形式的比较
特点
XML:最早的通用信息标记语言,可扩展性好,但繁琐
JSON:信息有类型,适合程序处理,较XML简洁
YAML:信息无类型,文本信息比例最高,可读性好
作用
XML:Internet上的信息交互与传递
JSON:移动应用云端和节点的信息通信,无注释
YAML:各类系统的配置文件,有注释易读
4 信息提取的三种方式
完整解析-提取
标记解析器---优点:信息解析准确;缺点:提取过程繁琐,速度慢
直接搜索
查找函数---优点:提取过程简洁,速度较快;缺点:提取结果准确性与信息内容相关
融合方式
标记解析器和文本查找函数
实例:
import requests
from bs4 import BeautifulSoup
url = 'http://python123.io/ws/demo.html'
r = requests.get(url)
demo = r.text
soup = BeautifulSoup(demo,'html.parser')
for link in soup.find_all('a'): ## 搜索到所有<a>标签
print(link.get('href')) ## 解析<a>标签格式,提取href后的链接内容 <>.find_all(name, attrs, recursive, string, **kwargs)
>http://www.icourse163.org/course/BIT-268001
http://www.icourse163.org/course/BIT-1001870001