Python urllib извлекает медленно - PullRequest
0 голосов
/ 28 февраля 2019

Итак, я пытаюсь проанализировать файл JSON URL-адресов изображений Magic the Gathering и загрузить их.

Я написал приведенный ниже сценарий и бился головой о стену, прежде чем для загрузки каждого запроса требовалось от 3 до 4 минут.Сначала я подумал, что сайт задушен, но дело не в этом.

В итоге я переключился с оболочки cmd на оболочку git bash, запустил сценарий, и он работал так, как задуманоЯ верил, что решил это.Что ж, теперь даже в оболочке git bash код работает медленно, и единственное, что изменилось, это набор, который я искал. Я попытался отключить выходной газ с помощью '-u', но это не помогло.

«Готово» никогда не печатается, хотя я знаю, что оно загружает все файлы json.

Если я поместил оператор print в цикл for до того, как будет напечатан «если», «готово».Он доберется до печати первого имени файла, но это так.

import json
import urllib
import time

with open('scryfall-oracle-cards.json') as f:
    data = json.load(f)


print("done")
count = 0

for x in data:
    if x['set'] == "dom":
        cropUrl = x["image_uris"]["art_crop"]
        cardname = x['name'].replace(' ', '_') + "__" + x['set']
        fileName_crop = cardname + "_crop.jpg"
        print(fileName_full)
        time.sleep(.1)
        urllib.urlretrieve(cropUrl, fileName_crop)

1 Ответ

0 голосов
/ 28 февраля 2019

Отличная, простая и принятая библиотека для HTTP-запросов: requests.

Прочитайте документацию по запросам.

...