#创建进程方法
from multiprocessing import Process
import os
from urllib import request
#步骤1继承Process类
class Process_Class(Process):
#因为Process类本身也有__init__方法,这个子类相当于重写了这个方法
#但这样会带来一个问题,我们并没有完成的初始化一个进程类,所以不能使用这个类继承的一些方法和属性
#步骤2:使用父类初始化方法初始子类
def __init__(self,url):
Process.__init__(self)
self.url=url
#步骤3:重写Process类中的run方法
def run(self):
print('当前进程id:', os.getpid(), os.getppid())
# 文件名
file_name = self.url.split('/')[-1]
# 网络请求
response = request.urlopen(self.url) # 一个响应对象
# 获取响应的内容
content = response.read()
# 保存
with open(file_name, 'wb') as fp:
fp.write(content)
if name == ‘main’:
url_list = [
‘https://www.baidu.com/img/baidu_jgylogo3.gif’,
‘http://www.offcn.com/statics/images/zgimg/index2019.png’
]
for url in url_list:
p = Process_Class(url)
p.start()