etree text() 取不到数据

etree xpath 取不到文本
网上的案列很少 找不到答案

def get_score(url):
    headers = {
        'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
                      "Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.41"}
    etr = etree.HTML(requests.get(url, headers).text)
    r = etr.xpath('//*[@id="plist-body"]/div/div[1]/div[2]/div[1]/span/span/text()')
    print(r)


if __name__ == "__main__":
    get_score('https://www.iqiyi.com/v_1nvdvo4f38k.html?vfrm=pcw_category_lib_2&vfrmblk=E&vfrmrst=1_1')

打印的是 []

参考下这个文章,如果还有问题可以发回复

参考GPT和自己的思路:

根据提供的代码和网页链接,可能存在以下几种原因导致无法通过 xpath 获取文本:

  1. 爬取的网页有防爬机制,导致无法获取数据。
  2. xpath 表达式写错或者节点信息不准确。

建议先确认是否存在反爬机制,如果存在需要相应地处理。如果不存在反爬机制,建议检查 xpath 表达式和节点信息是否准确,可以手动在浏览器中单独测试,确定正确的 xpath 表达式和节点信息后再应用到代码中。另外,也可以尝试使用其它的解析库如 Beautiful Soup 等来解析网页,看是否可以正常获取文本。

抓包看看,你的请求是否正确,服务器返回数据了没有