爬虫 | xpath + lxml 库 解析爬取网页
lxml 库是用来解析XML和HTML网页内容的
Xpath 库则是用来查询数据(XPath表达式是一种在XML文档中查找信息的语言,它同样适用于HTML文档)
注意xpath中索引是从1开始而不是0
简单示例:
# 先pip install lxml
import requests
from lxml import etree # etree主要是用来解析和操作XML/HTML文档
# 步骤3:获取网页内容
url = 'http://example.com' # 替换为你想要爬取的网页的URL
response = requests.get(url)
html_content = response.text
# 步骤4:解析网页内容
tree = html.fromstring(html_content)
# 步骤5:使用XPath查询数据
result = tree.xpath('//h1/text()')
# 步骤6:处理查询结果
for item in result:
print(item.strip()) # 去除可能存在的空白字符并打印
补充关于etree.parse() 和 etree.fromstring()以及 etree.XML()的区别
* etree.parse() 用来解析XML文档或类似文件的对象,所以参数中提供文件名或文件对象作为输入
* etree.XML() 用来解析字符串:该字符串是完整的 XML 文档(即包含根元素),所以参数中放入完整的 XML 字符串作为输入 【etree.HTML()一回事,放完整的HTML文档】
* etree.fromstring() 用来解析字符串:不一定包含根元素,所以参数中放入 XML 字符串作为输入

浙公网安备 33010602011771号