我正在抓取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没有任何影响。
答案 0 :(得分:2)
以下在lxml.html
(使用现代Scrapy)中完美无缺:
sel.xpath('.//div[@class="info_div"]//td[text()="Ref:"]/following-sibling::td[1]/text()')
请注意,我使用//
来介于div
和td
之间,而不是显示明确的路径。我不得不仔细研究一下文件,找出原因,但该领域的路径不正确。
答案 1 :(得分:2)
不要通过查看Firebug或Chrome开发工具创建XPath表达式,他们正在更改标记。移除/tbody
轴步骤,您将获得您正在寻找的内容。
normalize-space(.//div[@class="info_div"]/table/tr/td[
normalize-space(text())="Ref:"
]/following-sibling::td[1]/text())
答案 2 :(得分:0)
另一个得到相同内容的XPath:(.//td[@class='titles']/../td[2])[1]
我使用XPath Checker尝试了你的XPath,它运行正常。