scrapy,无效的xpath,起始位置

时间:2013-03-14 21:01:25

标签: python xpath scrapy

我正在尝试使用scrapy,我有这个荒谬的HTML,我正在尝试它。使用Xpath Checker firefox插件,这是表中的第一行:

id('page')/x:table/x:tbody/x:tr[1]/x:td[2]/x:table/x:tbody/x:tr/x:td/x:table/x:tbody/x:tr[1]

如果我将xpath复制到:

,我会收到错误
def parse(self, response):
      hxs = HtmlXParseSelector(response)
      data = hx.select("id('page')/x:table/x:tbody/x:tr[1]/x:td[2]/x:table/x:tbody/x:tr/x:td/x:table/x:tbody/x:tr[1]")

raise ValueError("Invalid XPath: %s" % xpath)

为什么它不能识别这个xpath?

此外,还有一种方法可以让scrapy从第3行开始获取所有数据吗?前两行只是标题和图例。

1 个答案:

答案 0 :(得分:1)

Firefox添加了一个html标签" tbody",但实际上html可能没有它。尝试使用您的程序获取html页面,并查看标记" tbody"的位置。我在Firefox中遇到了同样的问题和相同的问题。