目录
一、XPath 是什么?
XPath(XML Path Language)是一种用于在 XML 或 HTML 文档中定位和提取数据的语言。
在 Web 爬虫中,它被广泛用于解析 HTML 页面,精准定位你需要的标签、属性和内容。
在
lxml或scrapy中,XPath 是最常用的选择器之一。
二、 XPath 基础语法速查表
| 表达式 | 含义 |
|---|---|
/ |
从根节点选取 |
// |
从任意位置选取 |
. |
当前节点 |
.. |
当前节点的父节点 |
@ |
属性 |
三、常见 XPath 示例与说明
| 表达式 | 说明 |
|---|---|
//div |
选取所有 <div> 标签 |
//div[@class="item"] |
class 为 item 的 div |
//a/@href |
提取所有链接地址 |
//p/text() |
提取所有 <p> 标签中的文本 |
//ul/li[1] |
提取第一个 <li> |
//ul/li[last()] |
最后一个 <li> |
//div[contains(@class, "content")] |
class 含有 content 的 div |
//span[starts-with(@class, "tag-")] |
class 以 tag- 开头的 span |
//a[text()="登录"] |
文本内容为“登录”的链接 |
//div[@id="main"]/p[2]/text() |
id 为 main 的 div 中第二个 <p> 的文本 |
四、使用 xpath 提取网页内容详细示例
每个模块包含:
-
页面 HTML 示例
-
Python CSS 选择器提取代码
-
简要文字说明
1. 提取元素的文本内容
提取标签中的纯文本内容。
HTML 示例
<h1 class="title">这是主标题</h1>
Python
from lxml import html
tree = html.fromstring(html_code)
title = tree.xpath('//h1[@class="title"]/text()')[0]
2. 提取链接地址(href 属性)
提取超链接的地址
<

最低0.47元/天 解锁文章
1307

被折叠的 条评论
为什么被折叠?



