python - 从网站收集数据时同时发送多个 http 请求的最佳方式
问题描述
我从一个网站收集数据以通过 Python 进行 AI 培训。我分别向网站的索引发送请求。解析 html 后,如果我在 html 中找到对我的目的有意义的数据,我会保存它并将请求发送到另一个索引。有超过 500 万个网站需要检查。所以我认为我应该一次发送多个请求。否则,我无法完成它们。
我正在寻找同时发送多个请求的最佳方式。我知道方法:线程、多个 python 脚本、异步函数。但我不确定最好的方法。
谢谢你。
解决方案
我会使用Requests Futures,它是一个非常简单的 Requests 异步包装器,您可以按如下方式使用它:
from concurrent.futures import as_completed
from requests_futures.sessions import FuturesSession
with FuturesSession() as session:
futures = [session.get(url) for url in urls]
for future in as_completed(futures):
res = future.result()
print(res.json())
推荐阅读
- python - 正则表达式:删除彼此相邻的重复行
- sql - DB2,使用 case 语句获取平均值
- app-store-connect - 无法连接到 iTunesConnect
- kubernetes - 安全的做法是将一个容器放在一个 pod 中。那么在 kubernetes 中发明 pod 的动机是什么?
- reactjs - TypeError:无法读取未定义的属性“地图”反应this.props.rsl ['数据']
- nginx - 如何从主机中的浏览器访问虚拟机中的 URL
- python - 如何在 Python 中粘贴(如 R)和 groupby
- scanf - 多个分支上的 HP Fortify 扫描
- r - 有没有指定 geom_raster 插值范围的方法?
- ios - Swift:加载 /Library/Audio/Plug-Ins/HAL/NRDAudioClient 时出错:找不到合适的图像