进程通信爬取信息的初步脚本

版权声明:欢迎读阅 https://blog.csdn.net/weixin_44266137/article/details/88657890

这里的代码并不完善,只是初步搭建了一个模型。方便以后备用

# -*- encoding: utf-8 -*-

# 导包
from multiprocessing import Process,Queue


# 定义多进程抓取类
class MpSpider(Process):

    """
    自定义类可以继承系统类
    """
    
    # 初始化
    def __init__(self,url,q):
        # 重写父类方法
        super().__init__()
        self.url = url
        self.q = q

    # 定义抓取方法
    def run(self):
        # 进程间通信。
        self.q.put('1234')



# 程序入口
if __name__ == "__main__":

    # 创建消息队列 给参数是限制有多少
    q = Queue()
    url_list = range(20)

    # 建立进程容器
    Process_list = []
    for url in url_list:
        # 关键点 实例化对象
        p = MpSpider(url,q)
        # 启动进程
        p.start()
        # 放入容器
        Process_list.append(p)

    # 阻塞主进程。防止主进程提前关闭
    for i in Process_list:
        i.join()

    # 打印队列内容
    while not q.empty():
        print(q.get())



很简单的实现步骤。逻辑也很简单

猜你喜欢

转载自blog.csdn.net/weixin_44266137/article/details/88657890