信息标记的3种形式
‘name’ ygj
‘age’ 18
HTML的信息标记
HTML通过预定义的<>…</>标签形式组织不同类型的信息
XML,JSON,YAML 3种主流标记形式
XML是HTML基础上发展起来的一种信息标记形式
JSON是用有类型的键值对表达信息
YAML是用无类型的键值对表达信息
三者的比较
XML Internet上的信息交互
JSON 移动应用云端和节点的信息通信,无注释
YAML 各类系统的配置文件,有注释
信息提取的一般方法
信息提取
1 | import requests |
完整解析信息的标记形式,再提取关键信息
优点:信息解析准确
缺点:提取过程繁琐,速度慢
直接搜索关键信息
优点:提取过程简洁,速度快
缺点:提取结果准确性与信息内容相关
融合方法 需要信息标记解析器和文本查找函数
操作实例
1 | import requests |
内容查找方法
find_all
soup(..) 等价于 soup.find_all(..)
中国大学排名实例
分析
输入:大学排名url链接
输出:大学排名信息的屏幕输出
技术路线: requests + bs4
定向爬虫:仅对输入url进行爬取,不扩展爬取
程序结构设计 1. 从网络上获取相关内容 getHTMLText() 2. 提取内容信息到合适的数据结构(二维列表) fillUnivList() 3. 利用数据结构展示并输出结果 printUnivList()
1 | def getHTMLText(url): |
代码改进(整齐输出)
1 | import requests |