风火编程--python爬虫几个xpath解析方法

python爬虫解析xpath

requests获取的响应体

from lxml import etree
html = etree.HTML(response.text) # 二进制类型用.content
result = html.xpath(“expression”),
返回list, 一个用[0]

selenium获取的响应体

result = response.xpath(“expression”).xtract(),
返回list, 一个用extract_first()

一些特殊的解析
    # 根据文本内容取标签的下一个弟标签的文本
     driver.find_elements_by_xpath(' /span[text()="持续时间:"]/following-sibling::*[1]/text()')
     # 上一个节点     preceding-sibling::a/ttext()
     # 父节点    /parent::li/text()
     # 祖先节点 /ancestor::*[2]/text()
  # 模糊查询
driver.find_elements_by_xpath("//span[contains(@class,'center_close')]")
# 将节点下的所有文本拼接成字符串
string(node())
#取节点下的第一个文本
string(node()/text())

解析式的或连接

html.xpath('//tr[@class="odd"] | //tr[@class="even"]') 

或者

 html.xpath('//tr[@class="even" or @class="odd"]')

不是

 html.xpath('//tr[not(@class="even")]')

补全默认标签

parser = etree.HTMLParser(enconding='utf-8')
html = etree.HTML(text, parser=parser)

标签赚字符串

s = etree.tostring(div).decode()

参考链接

https://www.cnblogs.com/songshu120/p/5182043.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值