我需要从该页面抓取图像的链接: http://calendar.youtoocanrun.com/events/new-delhi-1/beat-that-run/
我写了这个xpath:
response.xpath('//li[@class="geodir-active-slide"]/img/@src').extract()
返回空列表。它应该已经返回了gif和jpg文件的链接。为什么?
答案 0 :(得分:3)
问题不在于您的XPath表达式中,而是假设您要查找的元素位于Scrapy下载的页面原始HTML文件中。
Scrapy不会运行任何JavaScript文件,因此在许多情况下,您在Scrapy中获得的响应与在开发人员工具中看到的不同。
如果使用浏览器中的“查看页面源”选项打开相同的网站,则会看到所需的元素不存在。这意味着该元素是使用JavaScript动态生成的。
有一些方法可以解决此问题,我将按以下顺序进行处理: