【发布时间】:2017-02-06 11:16:26
【问题描述】:
我正在尝试使用 Scrapy 从here 中提取“Comissões a que pertence / pertenceu”表中的信息。
由于表格的数量可以改变(我想提取几个等效页面的信息),我首先找到相关部分
for node in response.xpath('//*[@class = "ARLabel TextBold"]'):
texto = node.extract()
if u'Comissões a que pertence' in texto:
break
然后我试图通过以下方式找到所需信息的一部分:
node.xpath('.//*[@class = "ARTabResultadosLinhaImpar"]')
但结果是一个空列表。
编辑:删除 /text()
EDIT2:我用单个 xpath 解决了问题:
response.xpath(u"//*[@class = 'ARLabel TextBold' and contains(text(), 'Comissões a que pertence')]/following-sibling::*//span/text()").extract()
【问题讨论】:
-
但是
node这里是text()对象吗?你不应该再上一级吗? -
@WillemVanOnsem,是的,你是对的。我刚刚删除了 text()
标签: python xpath web-scraping scrapy