【发布时间】:2016-04-08 15:17:57
【问题描述】:
我想从这个网页http://www.changning.sh.cn/jact/front/front_mailpublist.action?sysid=9的表格中抓取数据
在编写蜘蛛之前,我在 Scrapy shell 中测试了我的 Xpath 表达式,但遇到了一个问题:Xpath 无法从表格中获取任何文本。
假设我要提取左上角单元格中的文本 LM2015122827458,我使用了response.xpath("//tr[@class = 'tr_css']/td[1]/text()").extract()。只返回了一个空列表。我尝试了替代 Xpath 表达式,包括受 Chrome “copy Xpath”启发的表达式,但没有运气。我什至用response.xpath("//text()")提取页面上的所有文本,看看是否有LM2015122827458。不是。那么,这是不是 Xpath 无法处理的页面呢?还是我做错了什么?非常感谢!
【问题讨论】:
-
表格内容很可能是用 Javascript 加载的,所以如果你只是抓取 HTML 源,它们是不可用的。你可能想使用像 ScrapyJS (Splash) 这样的东西。
-
感谢您的建议,马蒂亚斯。这也是我怀疑的。但是如何确定数据是否加载了 Javascript?我确实在头部元素中找到了这些。 这是否意味着数据是用Javascript加载的?