【问题标题】:Extract href values with xpath on Python 2.7在 Python 2.7 上使用 xpath 提取 href 值
【发布时间】:2013-03-07 13:09:34
【问题描述】:

我有这个 HTML:

<a href="some content">Click here</a>

如何在 Python 2.7 上使用 xpath 提取 some contentclick me

到目前为止,我有以下内容(仅从 href 结果中提取“一些内容”):

import lxml.etree as LE
import requests

r = requests.get("http://localhost")
html = r.text
root = LH.fromstring(html)
print root.xpath('//a/@href')

【问题讨论】:

  • 你必须使用xpath吗?正则表达式应该适用于 HTML。
  • 我以前用正则表达式来做...但后来我在膝盖上中了一箭。把笑话放在一边。不建议使用正则表达式来解析 html/xml 结果:)
  • 啊,我明白了。我不熟悉xpath。也许下次我需要解析 html 时我会尝试一下。
  • xpath 和 lxml 工作得很好。而且速度更快。

标签: python html xpath


【解决方案1】:

您只能使用 XPath 选择一个或另一个,但您可以选择所有 &lt;a&gt; 元素,然后选择 href 属性和文本内容,如下所示:

for elt in root.xpath('//a'):
    print(elt.attrib['href'], elt.text_content())

【讨论】:

    猜你喜欢
    • 2020-12-31
    • 2018-08-31
    • 1970-01-01
    • 1970-01-01
    • 2021-04-03
    • 2012-06-30
    • 2012-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多