【问题标题】:Xpath not working properlyXpath 无法正常工作
【发布时间】:2013-12-09 01:21:59
【问题描述】:

我正在使用 lxml 并请求为我的一些想学习英语的朋友收集语言开发程序的数据。所以我目前正在研究程序的俚语学习部分,我现在就跳到主要问题。

这是我用来演示我的问题的sample page

import requests
from lxml import html
def make_tree(url):
    headers = {'User-Agent':'Mozilla/5.0'}
    page = requests.post(url,headers=headers)
    return html.fromstring(page.text)

url = 'http://www.englishdaily626.com/slang.php?054'

t = make_tree(url)
print t.xpath('/html/body/p/table/tbody/tr/td/table[4]/tbody/tr[3]/td[2]/table/tbody/tr/td[2]/div/table/tbody/tr[2]/td[2]/p/span/text()')

这只是给了我一个空白列表。如果在 xpath viewer firefox 中检查,我的 xpath 是正确的。那是什么问题呢?并且在任何地方都出现了 href 。

【问题讨论】:

标签: xml xpath xhtml lxml python-requests


【解决方案1】:

我建议使用更灵活、更通用的 XPath 查询。如果你正在寻找第一个定义,你可以使用这个:

'//tr[td[1]/p/b/span = "Definition:"][1]/td[2]/p/span/text()'

这适用于浏览器和示例脚本中的 lxml。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-17
    • 1970-01-01
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多