gpt4 book ai didi

python - 如何在lxml解析中获得准确的日期?

转载 作者:太空宇宙 更新时间:2023-11-03 19:18:20 25 4
gpt4 key购买 nike

我在解析 html 文档时遇到了一个奇怪的问题。 html 文档的跨度如下所示:

<span class="time">Thu May 17, 2012 12:20 pm</span>

当我解析它时(它在 td 内):

row.xpath('string(./td/span/text())')

我得到以下信息:

Wed May 16, 2012 11:20 pm

可能是什么问题?

最佳答案

可能,./td/span 匹配多个元素。当您在 XPath 中获取 string() 时,仅处理第一个结果:

>>> html = """<html>
... <td><span class="time">Wed May 16, 2012 11:20 pm</span></td>
... <td><span class="time">Thu May 17, 2012 12:20 pm</span></td>
... </html>"""
>>> t = etree.fromstring(html)
>>> t.xpath('string(./td/span)')
'Wed May 16, 2012 11:20 pm'

您应该编写更具体的 XPath 来获取所需的行,或循环遍历行:

>>> for row in t.xpath("./td/span"):
... print(row.xpath("string(.)"))
...
Wed May 16, 2012 11:20 pm
Thu May 17, 2012 12:20 pm

(注意:我删除了 text(),因为在本例中不需要它。text() might not do what you think it does 。)

关于python - 如何在lxml解析中获得准确的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10632791/

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