我正在尝试从这个中文网页 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 元素中找到了这个:“script language =”javascript”。我不确定这是否是问题的原因。有人能帮我弄清楚吗?我在 Stackoverflow 上搜索了相关内容主题,但对我来说太复杂了,无法理解。谢谢您的帮助!
最佳答案
这里的问题是您正在使用完整路径来获取您想要的信息,这是没有必要的,因此不需要遵循 html
-> body
-> 中心
等
您可以直接转到所需的 td
信息,例如:
response.xpath('//td/text()')
它将返回一个选择器列表(td
标记内的每个文本)以迭代您需要的信息。
关于javascript - Scrapy 选择器无法返回所需的字符,可能是由于 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33241704/