python - 从 Scrapy 中的 API 获取数据
问题描述
我正在从事一个分为两部分的项目:
- 检索特定页面
- 提取此页面的 ID 后,
- 向 API 发送请求以获取此页面上的其他信息
对于第二点,按照 Scrapy 的异步理念,这样的代码应该放在哪里?(我在蜘蛛或管道之间犹豫不决)。我们是否必须使用不同的库,如 asyncio 和 aiohttp 才能异步实现这个目标?(我喜欢 aiohttp 所以使用它不是问题)
谢谢
解决方案
由于您这样做是为了获取有关项目的其他信息,因此我只需从解析方法产生一个请求,并在meta
属性中传递已经抓取的信息。
你可以在https://doc.scrapy.org/en/latest/topics/request-response.html#topics-request-response-ref-request-callback-arguments看到一个例子
这也可以在管道中完成(使用 scrapy 的引擎 API 或不同的库,例如treq)。
但是,我确实认为在这种情况下,从蜘蛛那里以“正常方式”进行操作更有意义。
推荐阅读
- android - 卡片视图不显示,我的 recyclerview 正在工作,但卡片视图在应用程序中不可见
- c++ - 如何在 debian:latest docker 上安装 gcc-9
- swift - 编写一个泛型函数以从 Swift 中的多个枚举中获取公共变量
- c# - 可以在 Worker 服务中使用 Task.Delay 长时间间隔吗
- c - C语言中%d和%.d的区别
- c++ - 使用枚举类编写工厂方法
- javascript - if 条件不会停止启用
- c - 匿名参数是什么意思?为什么需要它们?
- json - 如何将包含键值对数组的 MongoDB 对象转换为一个连接字符串?
- java - 如何在 Java 中加载和解析(ant 风格)属性文件?