简单分布式爬虫-windows环境

这篇博客介绍了如何在Windows环境下使用Python实现一个简单的分布式爬虫。通过创建服务进程和任务进程,利用多进程间通信的Queue和BaseManager,实现了任务的分发和结果的收集。在服务进程中,首先建立并注册网络队列,然后启动管理器。任务进程中,通过QueueManager获取网络队列并执行任务。博主提到了在实现过程中遇到的几个常见错误及其解决办法。
摘要由CSDN通过智能技术生成

创建服务进程
1.建立队列Queue,用来进行进程间通信
2.把第一步建立的队列在网络上注册,暴露给其他进程(主机),注册后获得网络队列,相当于本地队列的映像
3.建立一个对象(Queuemanager(BaseManager))实例manager,绑定端口和验证口令
4.启动第三步中建立的实例,即启动管理manager, 监管信息通道
5. 通过管理实例的方法获得通过网络访问的Queue 对象,即再把网络队列实体化成可以使用的本地队列
6.创建任务到“本地”队列中,自动上传任务到网络队列中,分配给任务进程进行处理

代码如下taskManager_win.py:
import random, time
from multiprocessing import Queue
from multiprocessing.managers import BaseManager
from multiprocessing import freeze_support


# 任务个数
task_number = 10

# 第一步: 建立task_queue和result_queue, 用来存放任务和结果
task_queue = Queue()
result_queue = Queue()

def get_task():
    return task_queue

def get_result():
    return result_queue

# 创建QueueManager
class Queuemanager(BaseManager):
    pass

def win_run():
    # Window

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值