Scrapy+Python+Xpath:Xpath返回一个空的lis

2024-06-25 23:10:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要从这个页面抓取图片的链接: http://calendar.youtoocanrun.com/events/new-delhi-1/beat-that-run/

enter image description here

我写了这个xpath:

response.xpath('//li[@class="geodir-active-slide"]/img/@src').extract()

它返回空列表。它应该返回gif和jpg文件的链接。为什么?你知道吗


Tags: runcomhttpnewthat链接response图片
1条回答
网友
1楼 · 发布于 2024-06-25 23:10:39

问题不在XPath表达式中,而是假设您要查找的元素位于Scrapy下载的页面原始HTML文件中。你知道吗

Scrapy不运行任何JavaScript文件,因此在许多情况下,在Scrapy中得到的响应与在开发人员工具中看到的不同。你知道吗

如果您从浏览器中使用“查看页面源代码”选项打开同一个网站,您将看到您要查找的元素不在那里。这意味着这样的元素是使用JavaScript动态生成的。你知道吗

有一些方法可以解决这个问题,我会按以下顺序来处理:

  1. 检查页面HTML并查找包含所需数据的JS代码
  2. 在“开发人员工具”的“请求”面板中检查浏览器正在执行的请求,并尝试查找为您带来该内容的请求
  3. 使用无头浏览器为您呈现页面

相关问题 更多 >