目录
xpath的作用
- 定位特定的节点或属性。
- 在XML中搜索和提取特定的数据。
- 支持节点关系、属性过滤、文本匹配等高级查询语法。
- 可以用于数据转换、数据格式化、数据建模等应用场景。
XPath在XML解析、数据抽取、Web抓取等领域发挥着重要的作用,也是XML技术栈中不可或缺的一环。
xpath的主要语法
1.路径查询:
//:查找所有子孙节点,不考虑层级关系
/:找直接子节点
2.谓词查询
//div[@id] 查找有id属性的div
//div[@id='main'] 查找id为main的div
3.属性查询
//@class 查找class的值
4.模糊查询
//div[contains(@id,"xddd")] 查找id属性值中包含xddd的div
//div[starts_with(@id,"xddd")] 查找id属性值中以xddd为前缀的div
5.内容查询
//div/h1/text() 查找所有div下的h1标签中的内容
6.逻辑运算
//div[@id="head" and @class="s_down"] 查找满足id为head同时class为s_down的div
//title | //price 查找满足title或者满足price
举例:查找baidu首页的“百度一下”
记得更改自己的UA,否则报错
import urllib.request
from lxml import etree
url="https://www.baidu.com/?tn=15007414_8_dg"
headers={
"User-Agent": "这里填写自己UA"
}
request=urllib.request.Request(url=url,headers=headers)
response=urllib.request.urlopen(request)
content=response.read().decode("utf-8")
tree=etree.HTML(content)
#result是一个列表
result=tree.xpath('//input[@id="su"]/@value')[0]
print(result)