有几百个 文件。但都不大,最大的也就几兆
我用 pycurl 下载。
我把下载地址放到 列表 里了。
取出第一个下载,等下完了,在取第二个。
但问题是,几百个下载连接,pycurl 怎么判断当前文件下载完了,然后开始下一个。
我用 pycurl 下载。
我把下载地址放到 列表 里了。
取出第一个下载,等下完了,在取第二个。
但问题是,几百个下载连接,pycurl 怎么判断当前文件下载完了,然后开始下一个。

1 imn1 Sep 12, 2018 还不如扔 idm/wget/aria2 …… |
2 billlee Sep 12, 2018 如果只要一个个下载,你调 curl.perform 阻塞在那里就好了啊 |
3 WO31400 Sep 12, 2018 为什么不直接 requests.get |
4 Qzier Sep 12, 2018 via iPad 用 aiohttp+aiofiles 异步下载 |
5 gefranks Sep 12, 2018 我前段时候是用 requests 来下的.3 万 3 千多个几十到几百兆的文件. 取 content-length 然后跟下下来的文件做比较. 其实文件仍然有下坏掉的可能,所以我对重要的文件是下 2 遍,然后再去做字节的比较,我觉得下 2 次都下坏掉的几率不是非常大. 当时也碰到会有断流停住的问题 |
6 xmoiduts Sep 12, 2018 via Android concurrent.futures 的 map()? (好像现在流行 aio 什么了……看来我的方案老了,不过我东西不多这么搞也没问题过) |
7 noqwerty Sep 12, 2018 via Android 以前处理过跟你类似的问题,当时抱着学习的心写了 200 多行的 aiohttp+aiofiles,现在就只用 Python 生成链接然后全丢到 aria2 …… |
8 delectate Sep 12, 2018 交给 aria2,剩下的该干嘛干嘛去。 |
9 congeec Sep 12, 2018 via iPhone shell 脚本绝对不超过 3 行 |
10 angel725 OP 重点是怎么判断 pycurl 下载完了一个文件 若没下完,怎么让程序等待它下完。用 time.sleep 整个程序都会暂停。 |