关于 python:XPath 不是 lxml 的预期结果 | 珊瑚贝

XPath not expected result with lxml


很抱歉,如果我的问题格式不正确,英语不是我的母语。

我正在尝试从以下网址获取表格 Bulapedia, Bulbasaur 但是当我使用 xpath 时,lxml 给了我非常奇怪的结果。

我尝试了以下方法:

1
2
for elem in tree.xpath(‘//*[@id=”mw-content-text”]//table[14]//tr[3]//td//table//tr//td’):
    print(etree.tostring(elem, pretty_print=True))

这并没有给我我需要的数据,它给出了来自不同表数据的值,甚至是随机的。

我现在不知道该尝试什么,cssselect 也不是一个选项,因为这似乎会根据我正在搜索的口袋妖怪而改变。

我试图得到以下结果:
enter

  • 告诉我们你想要得到什么。
  • @pguardiario 我正在尝试获取以下信息:i.imgur.com/FjvYxqW.png
  • 使用 cssselect 并执行:th:contains(“Weak to:”) + td


除了第一个元素 *[@id=”mw-content-text”] 之外,XPath 中的所有其余元素都应该是它们之前的元素的直接子元素。通过使用 // 您可以选择父级中任何深度的元素,这不是您想要的。

将除第一个 // 之外的所有内容更改为 /,它应该可以按预期工作:

1
2
for elem in tree.xpath(‘//*[@id=”mw-content-text”]/table[14]/tr[3]/td/table/tr/td’):
    print(etree.tostring(elem, pretty_print=True))
  • 我得到完全相同的结果:c
  • 我用你的例子弄清楚了!谢谢!


来源:https://www.codenong.com/51663687/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_8619.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?