网站建设资讯

NEWS

网站建设资讯

python爬虫中怎么创建任务进程

这篇文章主要介绍了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爬虫中怎么创建任务进程内容对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,遇到问题就找创新互联,详细的解决方法等着你来学习!


文章题目:python爬虫中怎么创建任务进程
转载注明:http://njwzjz.com/article/ppsddp.html