两年来,我们项目的爬虫代码大部分都是放在公司的windows机器上运行的,原因是服务器太贵,没有那么多资源,而windows主机却有很多用不上。为了合理利用公司资源,降低数据采集成本,我在所以任务机器上使用anaconda安装了python环境,并将代码部署到每台机器上,当有爬虫任务时,我就去每台机器启动相应的爬虫脚本。这样的运行方式一直存在了大约两年,期间也遇到一些问题,如之前使用fastapi写了一个控制服务【master+slave】的方式,但是在启动爬虫的过程中,存在爬虫起不来,或者进程已经存在,但由于没有添加详细的管理控制,导致日志文件冲突等问题。这些问题,我一直有想法去解决,但碍于我本人比较懒,同时对于正常运行的代码不想修改的等原因,导致我一年都没有从根本上解决这个问题。
最近没有什么开发任务,我从2月份过年回来,也一行代码没写。本着不能让自己荒废的原则,我准备重新设计一个系统,用于管理多个工作节点的python脚本,同时掌握每台机器的资源使用情况,实现通过一个主节点对子节点程序进行控制。
下面图片就是现在正在运行的爬虫项目,里面的.bat文件对应每一种爬虫,在windows下只要双击这个文件就可以启动爬虫,关闭对应生成的cmd框就能关闭爬虫,简单粗暴。
技术选型
【这里的技术选型会随着开发进程不停得更新】