贴一小段代码,记录xpath爬取比较有用的前后兄弟节点
# -*- coding: utf-8 -*-
from lxml import etree
import requests
#网页代码见下面截图
url = 'aaaa'
res = requests.get(url)
ress = etree.HTML(res.content)
#这里一开始用的res.text,报错:Unicode strings with encoding declaration are not supported. Please use bytes input or XML fragments without declaration.
找了一番资料,改成res.content发现就可以了,目前还不清楚为什么。
outt1 = ress.xpath('//span[contains(string(),"outstanding")]')[0]
#定位文本中包含这个单词的标签,是列表形式,要索引出来
outt 在这里插入代码片= outt1 .xpath('./preceding-sibling::span[3]//text()')
#当前这个节点的往上数第三个span节点,因为有嵌套,用的//
datee = outt1 .xpath('./following-sibling::span[1]/text()')
#当前这个节点往下数第一个节点
print(outt)
print(datee)