XPath在请求表标记时不返回任何内容

2024-10-04 05:31:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从https://raw.githubusercontent.com/denisemauldin/immer/master/index.html中提取表值,但它什么也不返回。我是做错了什么还是别的什么

from lxml import html
import requests
page=requests.get('https://raw.githubusercontent.com/denisemauldin/immer/master/index.html')
tree=html.fromstring(page.content)
print(tree.xpath('//table'))

它返回[]


Tags: fromhttpsimportmastercomtreeindexraw
1条回答
网友
1楼 · 发布于 2024-10-04 05:31:46

你很接近,非常接近。您需要了解的是,为了提取文本,您需要准确地告诉XPath它应该如何遍历树并提取信息。从代码中,您只告诉它遍历到table节点,您得到的输出[<Element table at 0x794c120>]是正确的,因为这是该元素的地址

下面的代码是显式的,将遍历到给定的标记,并使用text()获取元素的文本

from lxml import html
import requests
page=requests.get('https://raw.githubusercontent.com/denisemauldin/immer/master/index.html')
tree=html.fromstring(page.content)
print(tree.xpath('//table/tr/td/text()')) # ['immer', 'R Documentation']

你应该考虑使用HTML解析器,比如“漂亮的汤”。你可以阅读更多关于here的内容

相关问题 更多 >