javascript - 批量下载网页图片

标签 javascript python amazon-s3

我有大约 600k 图像 URL(在列表中),我想实现以下目标:

  • 全部下载
  • 生成特定尺寸的缩略图
  • 将它们上传到 Amazon s3

我估计我的图像平均约为 1mb,下载数据传输量约为 600GB。我不相信我的笔记本电脑和我的互联网连接可以承受它。

我该走哪条路?我希望有一个能够最大限度地降低成本的解决方案。

我正在考虑一个 Python 脚本或 JavaScript 作业,如果可能的话并行运行,以尽量减少所需的时间

谢谢!

最佳答案

我建议启动一个或多个 EC2 实例并在那里运行您的缩略图作业。您将消除几乎所有的带宽成本(从正确区域的 ec2 实例到 s3 的免费),并且 AWS 网络内的传输速度当然会更快。

对于要处理的 600K 文件,您可能需要考虑将每个“作业”加载到 SQS 队列中,然后让多个 EC2 实例轮询队列中的“待处理工作” - 这将允许您启动为许多 ec2 实例,因为您希望并行运行并分配工作。

但是,设置队列的工作可能值得也可能不值得,具体取决于您需要执行此操作的频率以及需要完成的速度 - 即,如果这是一次性的事情,并且您可以等待一周才能完成,一个实例可能就足够了。

关于javascript - 批量下载网页图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27633641/

相关文章:

javascript - 您如何在同一个 Mongoose.js 查询中使用 $and、$or、$exists?

python - ubuntu eric 没有模块 PyQt5.Qsci

python - Nose 不运行 Django doctests

Python 跟踪和分析

hadoop - 停止配置单元将临时文件写入 s3

javascript - 我可以在 Javascript 中执行 SendKeys 吗?

JavaScript 匹配

javascript - 为什么 Leaflet.js 中的 map 层没有出现?

amazon-web-services - 从 S3 存储桶中的文件夹中删除文件

python - 如何在 put_object 中指定标记?