16-XPath 的使用
你好,我是悦创。
XPath 的全称是 XML Path Language,即 XML 路径语言,用来在 XML 文档中查找信息。它虽然最初是用来搜寻 XML 文档的,但同样适用于 HTML 文档的搜索。
所以在做爬虫时,我们完全可以使用 XPath 实现相应的信息抽取。本节我们就介绍一下 XPath 的基本用法。
1. XPath 概览
XPath 的选择功能十分强大,它提供了非常简洁明了的路径选择表达式。另外,它还提供了 100 多个内建函数,用于字符串、数值、时间的匹配以及节点、序列的处理。几乎所有我们想要定位的节点,都可以用 XPath 选择。
XPath 于 1999年11月16日成为 W3C 标准,它被设计出来,供 XSLT、XPointer 以及其他 XML 解析软件使用。
2. XPath 常用规则
下面,我将列举 XPath 常用规则。
表达式 | 描述 |
---|---|
nodename | 选取此节点的所有子节点 |
/ | 从当前节点选取直接子节点 |
// | 从当前节点选取子孙节点 |
. | 选取当前节点 |
.. | 选取当前节点的父节点 |
@ | 选取属性 |
这里列出了 XPath 的一个常用匹配规则,如下:
//title[@lang='eng']
它代表选择所有名称为 title,同时属性 lang 的值为 eng 的节点。
后面会通过 Python 的 lxml 库,利用 XPath 对 HTML 进行解析。
3. 准备工作
使用 lxml 库之前,首先要确保其已安装好。
可以使用 pip3 来安装:
pip3 install lxml
更详细的安装说明可以参考:https://bornforthis.cn/column/crawler/supplement/lxml-install.html
安装完成后,就可以进入接下来的学习了。
4. 实例引入
下面通过实例感受一下使用 XPath 对网页进行解析的过程,相关代码如下:
公众号:AI悦创【二维码】
AI悦创·编程一对一
AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发、Linux、Web全栈」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh
C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh
方法一:QQ
方法二:微信:Jiabcdefh
- 0
- 0
- 0
- 0
- 0
- 0