【发布时间】: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 。
【问题讨论】:
-
这可能是由于页面中的脚本元素所做的更改。我建议执行以下操作:使用 wget 下载“原始”页面。然后检查您是否可以在其中找到您的 XPath 表达式。
-
@marcus 谢谢老兄,但我试过了,没用
-
可能与命名空间有关,我正在尝试了解它..
-
你说的不起作用是什么意思?您可以在下载的原始文件中找到 XPath 表达式吗?
标签: xml xpath xhtml lxml python-requests