我不明白为什么这个XPath表达式不能用作Scrapy选择器

时间:2016-02-11 04:12:29

标签: xpath scrapy

我刚开始学习Scrapy,我不明白为什么下面描述的XPath返回零结果。

我正在尝试构建一个爬行http://www.foodsafety.gov/recalls/recent/index.html

的蜘蛛

特别是在我使用Scrapy shell的测试中,我试图提取头条新闻。在Safari的开发者控制台中使用检查器,我确定标题文本的XPath是// div [@id =" recallList"] / h2 / a / text()。在开发者控制台中使用find,我能够使用上述XPath找到25个标题。

但是,当我使用Scrapy shell测试XPath时,我会使用

获得一个空列表
>> response.xpath('//div[@id="recallList"]/h2/a/text()').extract()

我正在使用

>> scrapy shell "http://www.foodsafety.gov/recalls/recent/index.html"

抓取网站。

1 个答案:

答案 0 :(得分:1)

响应为空结果,因为内容是通过Javascript加载的,目前scrapy不支持。如果您要查看开发者控制台中的network面板,则会看到另一个请求此网址http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&callback=jsonp1455174771252&q=http://www.fda.gov/AboutFDA/ContactFDA/StayInformed/RSSFeeds/FoodSafety/rss.xml&num=13的请求,该请求返回json。您可以使用此网址获取所有数据。