xpath在本网站中不起作用

时间:2014-02-27 17:50:27

标签: python python-2.7 xpath scrapy

我正在抓取justproperty.com的个别商家信息页面(原始问题中的个别商家信息不再有效)。

我想获得参考

的值

这是我的xpath:

>>> sel.xpath('normalize-space(.//div[@class="info_div"]/table/tbody/tr/td[norma
lize-space(text())="Ref:"]/following-sibling::td[1]/text())').extract()[0]

尽管在我的浏览器中工作,但这对scrapy没有任何影响。

3 个答案:

答案 0 :(得分:2)

以下在lxml.html(使用现代Scrapy)中完美无缺:

sel.xpath('.//div[@class="info_div"]//td[text()="Ref:"]/following-sibling::td[1]/text()')

请注意,我使用//来介于divtd之间,而不是显示明确的路径。我不得不仔细研究一下文件,找出原因,但该领域的路径不正确。

答案 1 :(得分:2)

不要通过查看Firebug或Chrome开发工具创建XPath表达式,他们正在更改标记。移除/tbody轴步骤,您将获得您正在寻找的内容。

normalize-space(.//div[@class="info_div"]/table/tr/td[
  normalize-space(text())="Ref:"
]/following-sibling::td[1]/text())

阅读Why does my XPath query (scraping HTML tables) only work in Firebug, but not the application I'm developing?了解详情。

答案 2 :(得分:0)

另一个得到相同内容的XPath:(.//td[@class='titles']/../td[2])[1]

我使用XPath Checker尝试了你的XPath,它运行正常。