吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 789|回复: 4
收起左侧

[求助] 请教下大佬爬虫xpath匹配空列表问题

[复制链接]
lihaoweil 发表于 2022-5-28 16:02
[Python] 纯文本查看 复制代码
import requests
from lxml import etree

headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (HTML, like Gecko) '
                          'Chrome/83.0.4103.116 Safari/537.36 '
        }
url = 'https://www.boc.cn/sourcedb/whpj/index.html'

response = requests.get(url, headers=headers).content.decode('utf-8')
print(response)
html = etree.HTML(response)
zm = html.xpath('//div/table/tbody/tr[27]/td[6]/text()')
print(zm)


代码如上所示,目的是为了获取中美汇率,XPATH规则在谷歌浏览器插件中可以正确匹配到结果,但是在Python里面就只能匹配到空列表,换网站别的xpath也都能正常匹配到结果,唯独这个网站xpath匹配不到正确的结果。初学新手小白,请大佬解答下问题出在哪里,谢谢。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

hujachin 发表于 2022-5-28 16:50
本帖最后由 hujachin 于 2022-5-28 17:20 编辑

把tbody删了
pinesnow 发表于 2022-5-28 17:35
[Python] 纯文本查看 复制代码
zm = html.xpath('//tr[27]/td[6]/text()')

直接改成这样就行啊
buhaozhao 发表于 2022-5-28 18:18
[Python] 纯文本查看 复制代码
zm = html.xpath('//div/table/tr[27]/td[6]/text()')

tbody 去掉就可以了,浏览器会对html文本进行一定的规范化
17798 发表于 2022-5-28 19:01
tbody删了就ok 在用xpath解析网页的时候,会遇到tbody标签。tbody标签有的时候可以解析,有的时候不可以解析,遇到tbody标签时要看网页源代码,如果源代码有tbody标签,就要加上tbody标签才能解析。
如果源代码没有tbody标签,那么tbody标签是浏览器对html文本进行一定的规范化而强行加上去的,这时如果xpath中有tbody则无法解析出来,此时去掉xpath中的tbody即可。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 11:25

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表