python - 无法使用 Scrapy 从网页加载和抓取数据
问题描述
我正在尝试使用 Python 中的 Scrapy 框架从https://www.grailed.com/抓取数据,但是当我在
scrapy shell
并尝试学习如何提取数据,
response.css("my css path")
或者
response.xpath("my xpath")
我总是得到空列表。然后,当我在 shell 中获取并查看https://www.grailed.com的响应时,我得到一个几乎空白的页面,其中不包含我想要抓取的数据(项目、价格等)。在这种情况下,Scrapy 还能满足我的目的吗?如果没有,是否有任何替代方案?谢谢!
解决方案
该站点使用 JS 加载内容。Scrapy 不支持 JS。这就是为什么您会看到没有数据本身的空 html 模板。可能的解决方案:
- 尝试使用将执行页面上所有 JS 的无头浏览器。有时我发现 phantomjscloud 非常方便用于渲染 JS 站点的 API 解决方案。您可以这样使用 -在此处输入链接描述
- 检查网络连接选项卡,看看是否有一些API调用以json格式返回您需要的数据,因此您可以直接获取。
推荐阅读
- php - 成功插入数据后如何使用 API 向号码发送短信并将其重定向到我的网站页面
- python - 如何使用 scipy。整合。四正确?
- multithreading - 单个进程/线程会导致死锁吗?
- fiware - Fiware 查询中忽略大小写
- reactjs - 从回调函数访问使用 useState 定义的状态变量
- context-free-grammar - 来自语言问题的上下文无关语法
- jquery - jquery 函数停止在 github 页面上工作
- python - 运行从 GitHub 下载的大脑提取的 Python 项目
- php - 完全不相关的异常,同时保存多对多关系学说和php
- stock - 表盘的 Fitbit 库存数据