单线程:
from urllib.request import urlretrieve
import time
import random
start=time.time()
f=open('E:\Python\py\web\hh.txt','r')#打开存放URL的文件
a=f.readlines()
f.close()
for i in a:b=random.randint(0,30)urlretrieve(i,'%d.png'%b) 
end=time.time()
print(end-start)
多线程:
from urllib.request import urlretrieve
import queue  
import threading   
import random
import time
class download(threading.Thread):  def __init__(self,que):  threading.Thread.__init__(self)  self.que=que  def run(self):  while True:  if not self.que.empty():   host=self.que.get()a=random.randint(0,30)urlretrieve(host,'%d.png'%a) else:  break  def Down():  f=open('E:\Python\py\web\hh.txt','r')a=f.readlines()f.close()que=queue.Queue() threads=[]for i in a:  que.put(i)  for i in range(20):  d=download(que) threads.append(d)for i in threads:i.start()for i in threads:i.join()if __name__=='__main__':   start=time.time()Down()  end=time.time()print(end-start)