【问题标题】:Downloading images from multiple websites concurrently using Python使用 Python 同时从多个网站下载图像
【发布时间】:2011-06-15 19:24:40
【问题描述】:

我正在尝试使用 Python 在互联网上同时下载多个图像,我已经查看了几个选项,但似乎没有一个令人满意。

我考虑过 pyCurl,但并不真正理解示例代码,而且对于像这样简单的任务来说,这似乎有点矫枉过正。 urlgrabber 似乎是一个不错的选择,但文档说批量下载功能仍在开发中。 我在 urllib2 的文档中找不到任何内容。

是否有实际可行且更易于实施的选项?谢谢。

【问题讨论】:

  • 为什么不想使用wget

标签: python curl concurrency download urllib2


【解决方案1】:

这并不花哨,但您可以使用urllib.urlretrieve,以及运行它的线程或进程池。

因为它们在网络 IO 上等待,您可以让多个线程同时运行 - 将 URL 和目标文件名粘贴到 Queue.Queue 中,然后让每个线程吸收它们。

如果您使用多处理,那就更简单了——只需创建一个Pool 进程,然后使用函数和可迭代参数调用mypool.map。标准库中没有线程池,但如果您需要避免启动单独的进程,您可以获取第三方模块。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-08
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 2018-10-22
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多