我试图从中文网页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的相关主题,但这对我来说太复杂了。谢谢你的帮助!
答案 0 :(得分:1)
这里的问题是您使用完整路径获取所需信息,这不是必需的,因此无需关注html
- > body
- > center
等等。
您可以直接转到所需的td
信息,例如:
response.xpath('//td/text()')
将返回一个选择器列表(td
标签内的每个文本)以迭代您需要的信息。