python下载器

本文介绍了一个使用Python的multiprocessing模块实现的多进程图片下载器。该下载器能够并行处理多个图片下载任务,通过创建子进程来加速下载过程。每个子进程负责下载指定URL的图片,并将其保存到本地。

from urllib import request #urllib数据,爬虫二 #resquest请求resquest
from multiprocessing import Process
import os
def downloader(url,**kwargs): # downloader下载器downloader
#arg元组元组里只有一个元素也要加逗号
print(‘当前进程’,os.getpid(),end=’’)
print(‘父进程’,os.getppid())#getppid()获得父进程
#print(‘关键字参数’,kwargs[‘pro’])
#文件名将图片保存
# file_name=url.split(’/’)[-1]
# response=request.urlopen(url)#网络请求#响应一个对象
# content=response.read()#获取相应的内容
# with open(file_name,‘wb’) as fq:#保存
# fq.write(content)
if name == ‘main’:
# for i in range(1,5,1):
# url=‘http://www.langlang2017.com/img/banner’+str(i)+’.png
# print(url)
# p=Process(target=downloader(url,))
# p.start()#开始下载
urlList=[
http://www.langlang2017.com/img/banner’+str(1)+’.png’,
http://www.langlang2017.com/img/banner’ + str(2) + ‘.png’,
# ‘http://www.langlang2017.com/img/banner’ + str(3) + ‘.png’,
# ‘http://www.langlang2017.com/img/banner’ + str(4) + ‘.png’
]
nameList=[‘进程一’,‘进程二’]
i=0
pList=[]
for url in urlList:
n=nameList[i]
#p=Process(target=downloader(url,))
p=Process(target=downloader,name=n,args=(url,),kwargs={‘pro’:‘关键字参数’})
print(‘子进程%s将被运行’%n)
p.start()
pList.append§
i+=1
for i in pList:
i.join()
print(‘主进程’,os.getpid())#getpid()获得当前进程号

print('进程已结束')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值