问题描述
import urllib.request
from tqdm import tqdm
with open("output.txt","r") as file:
itemIDS = [line.strip() for line in file]
x = 0
for length in tqdm(itemIDS):
urllib.request.urlretrieve(
"https://imagemocksite.com?id="+str(itemIDS[x]),"images/"+str(itemIDS[x])+".jpg")
x += 1
print("All images downloaded")
我四处寻找,发现的解决方案并不是我真正想要的。我有 200mbp/s,所以这不是我的问题。
我的问题是我的循环每秒迭代 1.1 - 1.57 次。我想加快速度,因为我有超过 5k 张图片要下载。它们每个也大约 1-5kb。
此外,如果有人有任何代码提示,我将不胜感激!我正在学习 python,它很有趣,所以我想尽可能地变得更好!
编辑: 使用下面有关 asyncio 的信息,我现在得到 1.7-2.1 It/s,这更好!可以更快吗?也许我用错了?
import urllib.request
from tqdm import tqdm
import asyncio
with open("output.txt","r") as file:
itemIDS = [line.strip() for line in file]
async def download():
x = 0
for length in tqdm(itemIDS):
await asyncio.sleep(1)
urllib.request.urlretrieve(
"https://imagemocksite.com?id="+str(itemIDS[x]),"images/"+str(itemIDS[x])+".jpg")
x += 1
asyncio.run(download())
print("All images downloaded")
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)