这篇文章主要介绍了python爬虫中怎么创建任务进程,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
创建任务进程也比较简单,只有简单的四步:
1. 创建一个类似的QueueManager对象,使用QueueManager注册用于获取queue的方法名称,任务进程只能通过名称来在网络上获取queue,所以这里一定要注意服务端和任务端的名称要相同。
2. 链接服务器,端口和指令一定要与服务端相同。
3. 从网络上获取queue,并且将其本地化。
4. 从task对列中获取任务,并且把结果写入result对列。
import time from multiprocessing.managers import BaseManager # 创建类似的QueueManager class QueueManager(BaseManager): pass # 第一步:使用QueueManager注册用于获取Queue的方法名称 QueueManager.register('get_task_queue') QueueManager.register('get_result_queue') # 第二步:链接到服务器 server_addr = '127.0.0.1' print('Connect to server %s' %server_addr) # 端口和验证的口令一定要保证相同 m = QueueManager(address = (server_addr, 8001), authkey='jap'.encode('utf-8')) # 从网络连接: m.connect() # 第三步:获取queue的对象 task = m.get_task_queue() result = m.get_result_queue() # 第四部:从task队列中获取任务,并把结果写入result队列 while(not task.empty()): url = task.get(True, timeout = 5) print("run task download %s" %url) time.sleep(1) # 将结果写入result队列 result.put("%s --->success" %url) print("exit")
详细的步骤也写在里面了,当然这个任务队列,我们是可以创建多个的,每个任务进程都会完成自己的事,而不会干扰其他的任务进程,这也就让我们的url不会重复的去爬取,从而完美的实现了多个进程来爬取我们的任务。
感谢你能够认真阅读完这篇文章,希望小编分享python爬虫中怎么创建任务进程内容对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,遇到问题就找亿速云,详细的解决方法等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。