Scrapy选择器无法返回所需的字符,可能是由于Javascript

时间:2015-10-20 16:16:27

标签: javascript scrapy

我试图从中文网页http://bxt.harbin.gov.cn/hrb_bzbxt/disshow.php?id=551950抓取数据。

在Scrapy shell中,我无法在任何td元素中获取任何文本。例如,response.xpath("/html/body/center[2]/table/tbody/tr[2]/td[3]/text()").extract()返回一个空列表。对于其他类似命令也会返回相同的内容。当我更仔细地检查html时,我会在head元素中找到它:"脚本语言=" javascript"。我不确定这是否是导致问题的原因。有人可以帮我解决一下吗?我搜索了Stackoverflow的相关主题,但这对我来说太复杂了。谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

这里的问题是您使用完整路径获取所需信息,这不是必需的,因此无需关注html - > body - > center等等。

您可以直接转到所需的td信息,例如:

response.xpath('//td/text()')

将返回一个选择器列表(td标签内的每个文本)以迭代您需要的信息。