# 手把手教学超详细python通用爬虫分布式框架(一)

手把手教学超详细python通用爬虫分布式框架(一)

` 这里日后添加系列文章的所有文章的目录



前言

采用 vue+flask,无高难度技术

爬虫越来越难,幸好公司爬的网站比较简单,我也逐渐学习了爬虫的分布式运维,记录下过程。
ps:一些不通用的分布式框架在我的git上可以下载,界面大致是这样:

在这里插入图片描述
在这里插入图片描述


一、所谓任务?

既然是分布式爬虫,总要有个任务去跑,但是每个爬虫所要的参数不同如何通用呢?没错,就是传json。

二、任务需要什么

我认为任务不仅包含爬虫运行的参数,还需要所在容器、运行时间,我们爬虫重要的还有长任务的请求间隔时间。

注意:其中很多参数是通用分布式客户端所搭配的,格式搞清楚了我们的客户端写完就再也不需要修改,一劳永逸。

1.启动格式

如下(示例,还有很多我没写):

work = {
    "runing": 3600,  # 运行时间
    "spider_start_time":2022-04-01 00:00:00,#启动时间
    "interval_time": {  # 相关间隔时间
        "aaa_com_request": 5,  # aaa.com请求间隔
        "aaa_com_error": 60,  # aaa.com报错重试间隔
        "once_work": 10,  # 每次任务间隔
    },
    "code_addres": {  # 代码所在地址,rpg、http模式。(后面会说)
        "type": "rpg",
        "address": "",
        "code_name": "spiderName",
        "version": 2
    },
    "up_res": {  # 上传结果
        "type": "redis",
        "addres": '1.1.1.1',
        "key": "",
        "name": ""
    },
    "spider_params": {  # 爬虫参数
        "arg1": "",
        "arg2": 2,
    }
}

2.任务执行流程分析

参数好了还不行,一些参数是后期添加的,比如容器、结果、状态等,我的导图:
在这里插入图片描述
暂时的导图,还有没考虑的我会及时更新

3.任务灵活化

我们要搞的是通用分布式,既然这样格局要打开,关于任务讲究的就是: 通用且具有表达,优雅而不失细节

总结

这次就讲任务设计模式,接下来还有总体思路,服务端设计,代码库设计,通用客户端(一劳永逸版)等。。。。。。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值