2014-09-29 113 views
0

快速的从网站上刮取文本的麻烦。我是使用lxml的新手,并花了很长时间试图从特定网站上刮取文本数据。该元件结构如下图所示:使用lxml/xpath()

http://tinypic.com/r/2iw7zaa/8

我想要做的是提取物,突出显示区域内显示的100,100。我已经试过陈述包括(我保存的网站的源到一个文本文件来测试,test.txt的 - 也试图与HTML扩展名):

from lxml import html 
tree = html.parse(test.txt) 
#value = tree.xpath('//*[@id="content"]/table[4]/tbody/tr[1]/td[2]') 
#value = tree.xpath('//*[@id="content"]/table[4]/tbody/tr[1]/td[2]/text()') 

我似乎得到的结果是空列表[],任何帮助将不胜感激。

ps我评论了两个价值陈述,因为我展示了我所尝试的。我尝试了一堆与上面类似的其他xpath语句,但是它们在python shell崩溃时丢失了。

pps。道歉的图片链接 - 由于代表我不能直接张贴图片。

+0

可能的重复[为什么我的XPath查询(抓取HTML表)只能在Firebug中工作,但不是我正在开发的应用程序?](http://stackoverflow.com/questions/18241029/why-does-my -xpath-query-scraping-html-tables-only-work-in-firebug-but-not-the) – 2014-10-12 17:36:41

回答

1

尝试从xpath中删除'/ tbody'。

浏览器可能正在添加`/ tbody'标签,而它可能不会出现在原始HTML中。

阅读全文herehere

+0

感谢队友,工作。很奇怪,因为我以为我已经尝试删除它。 – Sighonide 2014-09-29 23:48:18