之前的文章我们介绍了一下 Python 中正则表达式和 re 模块来做一个案例,爬取《糗事百科》的糗事并存储到本地。本章我们来看一下另一种爬取数据的方式 XPath。
我们在前面爬取《糗事百科》的时候处理 HTML 文档的时候发现会有些累人,还要对正则表达式非常熟悉爬起来才得心应手,那有没有更为方便的方法呢,答案当然是有的,我们可以先将 HTML文件 转换成 XML文档,然后用 XPath 查找 HTML 节点或元素。
什么是XMLXML 指可扩展标记语言(EXtensible Markup Language)
XML 是一种标记语言,很类似 HTML
XML 的设计宗旨是传输数据,而非显示数据
XML 的标签需要我们自行定义。
XML 被设计为具有自我描述性。
XML 是 W3C 的推荐标准
XML 和 HTML 的区别 数据格式 描述 设计目标XML Extensible Markup Language (可扩展标记语言) 被设计为传输和存储数据,其焦点是数据的内容。
HTML HyperText Markup Language (超文本标记语言) 显示数据以及如何更好显示数据。
HTML DOM Document Object Model for HTML (文档对象模型) 通过 HTML DOM,可以访问所有的 HTML 元素,连同它们所包含的文本和属性。可以对其中的内容进行修改和删除,同时也可以创建新的元素。
XML文档示例
1 <?xml version="1.0" encoding="utf-8"?> 2 <bookstore> 3 <book category="cooking"> 4 <title lang="en">this is title</title> 5 <content>hello world</> 6 </book> 7 </bookstore>