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