0

我正在尝试使用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 行及以后获取所有数据?前两行只是标题和图例。

4

1 回答 1

1

Firefox 添加了一个 html 标签“tbody”,但真正的 html 可以没有它。尝试使用您的程序获取 html 页面并查看标记“tbody”的位置。我在Firefox中遇到了同样的问题。

于 2013-03-14T23:53:49.687 回答