gpt4 book ai didi

python - 使用 XPath 在使用 python 的 单元格中获取文本

转载 作者:搜寻专家 更新时间:2023-10-31 22:54:29 24 4
gpt4 key购买 nike

我目前正在学习如何使用 XPath 从 HTML 文档中提取信息。我使用的是 python,在获取诸如网页标题之类的值时没有遇到任何问题,但是当我尝试获取表格中特定单元格的文本时,我只会返回一个空值。

这是我的代码,我使用 chrome 复制了我想从中获取值的表格单元格的 XPath。

from lxml import html
import requests

page = requests.get('https://en.wikipedia.org/wiki/List_of_Olympic_Games_host_cities')
tree = html.fromstring(page.content)

#This will get the cell text:
location = tree.xpath('//*[@id="mw-content-text"]/div/table[1]/tbody/tr[1]/td[3]/text()')

print('Location: ', location)

最佳答案

您不应在 XPath 表达式中使用 tbody 标记,因为它可能会被开发人员忽略并在页面呈现时被浏览器添加。您可以尝试以下 XPath 来获取所需的值:

location = tree.xpath('//*[@id="mw-content-text"]/div/table[1]//tr[not(parent::thead)]/td[3]/text()')

输出是

Location:  ['Europe', 'Europe', 'North America', 'Europe', 'Europe', 'Europe', '
Europe', 'Europe', 'Europe', 'Europe', 'Europe', 'North America', 'North America
', 'Europe', 'Europe', 'Asia', '\nEurope', 'Asia', '\nEurope', 'Europe', 'Europe
', 'Europe', 'Europe', 'Europe', 'Europe', 'Europe', 'Oceania', '\nEurope', 'Nor
th America', 'Europe', 'Europe', 'Asia', 'Europe', 'North America', 'Asia', 'Eur
ope', 'Europe', 'North America', 'North America', 'Europe', 'Europe', 'North Ame
rica', 'North America', 'Asia', 'Europe', 'Europe', 'Europe', 'North America', '
Asia', 'Oceania', 'North America', 'Europe', 'Europe', 'Asia', 'North America',
'Europe', 'Europe', 'South America', 'Asia', 'Asia', 'Asia', 'Europe', 'North Am
erica']

关于python - 使用 XPath 在使用 python 的 <td> 单元格中获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48872972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com