我正在使用 urllib.request 库中的 urlretrieve 从网站下载图像。我的代码很慢。保存 4 张图片(64x64 和 png)花了 12 分钟。这是不正常的,因为我已经在其他站点上对其进行了测试,并且它的工作速度更快(我的意思是一张图像需要 3 分钟是不正常的)。问题是来自网站还是我的电脑(我的网络很好)。这是代码:
import urllib.request
from PIL import Image
import os.path
import json
#Load and edit latest crypto data for cards
with open("json/latest_crypto.json", 'r') as latest_crypto_json:
latest_crypto = json.load(latest_crypto_json)
del latest_crypto["status"]
for i in latest_crypto['data']:
logo_online_adress = "https://s2.coinmarketcap.com/static/img/coins/64x64/{}.png".format(i)
logo_local_adress = "misc/cryptoLogo/{}.png".format(i)
if not os.path.exists(logo_local_adress):
urllib.request.urlretrieve(logo_online_adress, logo_local_adress)
current_logo = Image.open(logo_local_adress)
if current_logo.size != (64, 64):
resized_logo = current_logo.resize((64,64))
resized_logo.save(logo_local_adress)
print(i+" import with resize")
else:
print(i+" import without resize")
else:
print(i+" already exist")
对于上下文,我正在从 CoinMarketCap 收集加密货币徽标,以供以后在 HTML 代码中使用。
我正在检查它是否已经存在于目标文件夹中,如果不存在,我会得到它并在需要时调整大小。
这可能很混乱,但这条线周围的一切都按预期工作:
urllib.request.urlretrieve(logo_online_adress, logo_local_adress)
我唯一的问题是速度。我现在不能使用这个脚本,因为它太慢了。