Python xpath学习总结

本文总结了Python中利用lxml库的etree方法处理网页数据并运用xpath进行解析的经验。介绍了绝对路径和相对路径的使用,如通过谷歌浏览器获取XPath路径。还探讨了如何获取元素属性、文本,以及利用特定条件筛选节点,如`starts-with`、`contains`函数,并提供了遍历节点列表及在webdriver中执行点击事件的例子。
摘要由CSDN通过智能技术生成

xpath解析网页,需要先将请求返回的网页数据进行处理,这一步需要用到lxml库的etree方法

import requests
from lxml import etree

r = requests.get('https://nba.hupu.com/')
html = etree.HTML(r.text)
result = html.xpath('//dl[@class="nba-news-list"]//a/text()')

 

xpath获取有绝对路径获取(一层一层往下找,必须编写完整),相对路径获取(全局搜索)

/ 代表绝对路径

// 代表相对路径

绝对路径: /html/body/div[4]/div[1]/div[1]/div[2]/dl/dd[1]/a[1],看着就怕,谷歌浏览器自带获取xpath路径

在网页中点击鼠标右键-检查-选取页面元素-右键选中的标签-Copy-Copy XPath

相对路径 //dl[@class="nba-news-list"]//a/@href

 

获取属性 a/@href 

获取文本 a/text()

 

其他用法

  • 以xxxclass xxxid开头对应的节点
  1. //dl[starts-with(@class, "xxxclass")]//a/@href
  2. //dl[starts-with(@id, "xxxid")]//a/@href

 

  • 包含 xxx 文本/id/class/..
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值