2013-09-04 2 views
2

У меня есть список ссылок на изображения (около 5000 строк), и мне нужно знать, как я могу загрузить все это быстро. Пожалуйста, помогите мне с моим кодом:Как загрузить изображения из списка ссылок?

import concurrent.futures 
import urllib.request 

catname = 'amateur' 

def getimg (count, endcount): 
    while (count < endcount): 
     urllib.request.urlretrieve(URLS[count], catname+'/images/'+catname+str(count)+'.jpg') 
     URLS[count] = catname+'/images/'+catname+str(count)+'.jpg' 
     count = count + 1 

with concurrent.futures.ThreadPoolExecutor(max_workers=50) as e: 
    e.submit(getimg, 0, 5000) 

Он работает нормально, но медленно.

ответ

2

Ваш код скачать 5000 изображений 50 раз. Попытка:

import concurrent.futures 
import urllib.request 

catname = 'amateur' 

def getimg(count): 
    localpath = '{0}/images/{0}{1}.jpg'.format(catname, count) 
    urllib.request.urlretrieve(URLS[count], localpath) 
    URLS[count] = localpath 

with concurrent.futures.ThreadPoolExecutor(max_workers=50) as e: 
    for i in range(5000): 
     e.submit(getimg, i) 
+0

большое спасибо! отличный результат – cyan

 Смежные вопросы

  • Нет связанных вопросов^_^