from urllib import request
from multiprocessing import Process
import os
def downloader(url,**kwargs):
print('当前进程id:',os.getpid(),os.getppid())
print('关键字参数:',kwargs['pro'])
#文件名
flim_name=url.split('/')[-1]
#网络请求
response=request.urlopen(url)
#获取响应内容
content=response.read()
#保存
with open(flim_name,'wb') as fp:
fp.write(content)
if __name__ == '__main__':
# for i in range(1,5,1):
# url='http://www.langlang2017.com/img/banner'+str(i)+'.png'
# p=Process(target=downloader,args=(url,))
# p.start()
url_list=['http://img18.3lian.com/d/file/201707/06/d6f98261289b3b73fd0c7112bef256a7.jpg'
,'http://img18.3lian.com/d/file/201707/06/fdd4c62978400cf4ec7b8229b046609e.jpg'
]
name_list=['进程1----','进程2-----']
p_list=[]#进程列表
i=0
for url in url_list:
n=name_list[i]
i+=1
p=Process(target=downloader,name=n,args=(url,),kwargs={'pro':'最高等级'})
print('子进程(%s)将要被运行'%p.name)
p.start()
p_list.append(p)
for p in p_list:
p.join()#阻塞
print('主进程id:',os.getpid())
#确保这一句代码在左右子进程结束
print('-----------------所有文件下载完毕--------------------')
python 代码创建一个下载器
最新推荐文章于 2022-07-16 11:10:26 发布