跳至主要內容

16-XPath 的使用

AI悦创原创Python 网络爬虫专栏Crawler大约 2 分钟...约 718 字

你好,我是悦创。

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.htmlopen in new window

安装完成后,就可以进入接下来的学习了。

4. 实例引入

下面通过实例感受一下使用 XPath 对网页进行解析的过程,相关代码如下:

公众号:AI悦创【二维码】

AI悦创·编程一对一

AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发、Linux、Web全栈」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh

C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh

方法一:QQopen in new window

方法二:微信:Jiabcdefh

上次编辑于:
贡献者: AndersonHJB,AI悦创
你认为这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
评论
  • 按正序
  • 按倒序
  • 按热度