首页 > 解决方案 > 无法使用 Scrapy 从网页加载和抓取数据

问题描述

我正在尝试使用 Python 中的 Scrapy 框架从https://www.grailed.com/抓取数据,但是当我在

scrapy shell

并尝试学习如何提取数据,

response.css("my css path")

或者

response.xpath("my xpath")

我总是得到空列表。然后,当我在 shell 中获取并查看https://www.grailed.com的响应时,我得到一个几乎空白的页面,其中不包含我想要抓取的数据(项目、价格等)。在这种情况下,Scrapy 还能满足我的目的吗?如果没有,是否有任何替代方案?谢谢!

标签: pythonweb-scrapingscrapy

解决方案


该站点使用 JS 加载内容。Scrapy 不支持 JS。这就是为什么您会看到没有数据本身的空 html 模板。可能的解决方案:

  1. 尝试使用将执行页面上所有 JS 的无头浏览器。有时我发现 phantomjscloud 非常方便用于渲染 JS 站点的 API 解决方案。您可以这样使用 -在此处输入链接描述
  2. 检查网络连接选项卡,看看是否有一些API调用以json格式返回您需要的数据,因此您可以直接获取。像这个

推荐阅读