1. XPath简介
XPath (XML Path Language) 是一种在XML和HTML文档中查找信息的语言。在网络爬虫中,XPath是一个非常强大的工具,可以帮助我们精确定位和提取需要的数据。
1.1 为什么选择XPath?
- 语法简单直观
- 可以精确定位元素
- 支持复杂的查询条件
- 跨平台和语言支持
2. XPath基础语法
2.1 节点选择
/ 从根节点选取
// 从匹配选择的当前节点选择文档中的节点,不考虑它们的位置
. 选取当前节点
.. 选取当前节点的父节点
@ 选取属性
2.2 常用表达式
//div 选择所有div元素
//div[@class] 选择所有具有class属性的div元素
//div[1] 选择第一个div元素
//div[last()] 选择最后一个div元素
//div/p 选择div下的所有直接p子元素
//div//p 选择div下的所有p元素(不限层级)
3. Python中使用XPath
3.1 基本使用示例
from lxml import etree
import requests
def basic_xpath_demo():
# 获取网页内容
url = 'https://example.com'
response = requests.get(url)
# 创建HTML对象
html = etree.HTML(response.text)
# 使用xpath提取数据
title = html.xpath('//h1/text()')[0]
links = html.xpath('//a/@href')
print(f"标题: {
title}")
print(f"链接: {
links}")
3.2 复杂查询示例
from lxml import etree
import requests
class WebScraper:
def __init__(self, url):
self.url = url
self.headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
}
def get_page_content(self

最低0.47元/天 解锁文章
1460

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



