无法使用lxml Xpath解析器解析html

时间:2012-07-12 19:08:36

标签: python xpath lxml

我正在尝试从此页面解析评论:http://www.amazon.co.uk/product-reviews/B00143ZBHY

使用以下方法:

代码

html # a variable which contains exact html as given at the above page.
from lxml import etree
tree = etree.HTML(html)
r = tree.xpath(".//*[@id='productReviews']/tbody/tr/td[1]/div[9]/text()[4]")
print len(r)
print r[0].tag

输出

0
Traceback (most recent call last):
  File "c.py", line 37, in <module>
    print r[0].tag
IndexError: list index out of range

p,s,:在firefox的xpath checker插件上使用相同的xpath时,我很容易就可以了。但是没有结果,请帮忙!

1 个答案:

答案 0 :(得分:7)

尝试删除/tbody表单XPath - <tbody>中没有#productReviews

import urllib2
html = urllib2.urlopen("http://www.amazon.co.uk/product-reviews/B00143ZBHY").read()
from lxml import etree
tree = etree.HTML(html)
r = tree.xpath(".//*[@id='productReviews']/tr/td[1]/div[9]/text()[4]")
print r[0]

输出:

bought this as replacement for the original cover which came with my greenhouse and which ripped in the wind.  so far this seems a good replacement although for some reason it seems slightly too small for my greenhouse so that i cant zip both sides of the front at the same time.  seems sturdier and thicker than the cover i had before so hoping it lasts a bit longer!