Python如何多线程并发下载图片


本文小编为大家详细介绍“Python如何多线程并发下载图片”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python如何多线程并发下载图片”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。这就是我们最终要构建的效果。让我们安装每个人最喜欢的 requests 库。现在,我们将看到一些用于下载单个 URL 并尝试自动查找图像名称以及如何使用重试的基本代码。在这里,我们重试下载图像五次,以防失败。现在,让我们尝试自动找到图像的名称并保存它。假设我们要下载的 URL 是:instagram.fk免费云主机域名tm7-1.fna.fbcdn.net/vp…好吧,这是一团糟。让我们分解一下代码对 URL 的作用。我们首先使用 rfind 找到最后一个正斜杠(/),然后选择之后的所有内容。这是结果:65872070_1200425330158967_6201268309743367902_n.jpg?_nc_ht=instagram.fktm7–1.fna.fbcdn.net&_nc_cat=111现在我们的第二部分找到一个 ?,然后只取它前面的任何东西。这是我们最终的图像名称:65872070_1200425330158967_6201268309743367902_n.jpg这个结果非常好,适用于大多数用例。现在我们已经下载了图像名称和图像,我们将保存它。如果你在想,「我到底应该怎么使用上面的代码?」那么你的想法是正确的。这是一个漂亮的函数,我们在上面所做的一切都被扁平处理了。在这里,我们还测试了下载的类型是否为图像,以防找不到图像名称。现在,你可能会问:「这个人所说的多处理在哪里?」。这很简单。我们将简单地定义我们的池并将我们的函数和图像 URL 传递给它。让我们把它放在一个函数中:再一次,你可能会说,「这一切都很好,但我想立即开始下载我的 1000 张图像列表。我不想复制和粘贴所有这些代码并试图弄清楚如何合并所有内容。」这是一个完整的脚本。它执行以下操作:以图像列表文本文件和进程号作为输入按照您想要的速度下载它们打印下载文件的总时间还有一些不错的函数可以帮助我们读取文件名并处理错误和其他东西将其保存到 Python 文件中,然后运行它。这是 GitHub 存储库的链接。这将读取文本文件中的所有 URL,并将它们下载到名称与文件名相同的文件夹中。num_of_process 是可选的(默认情况下,它使用 10 个进程)。读到这里,这篇“Python如何多线程并发下载图片”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。

相关推荐: Python如何利用Bokeh进行数据可视化

本篇内容介绍了“Python如何利用Bokeh进行数据可视化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情免费云主机域名况吧!希望大家仔细阅读,能够学有所成!Bokeh是 Python 中的数据可视…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 04/02 18:08
下一篇 04/02 18:08

相关推荐