基于 Golang 的分布式爬虫管理平台,支持 Python、NodeJS、Java、Go、PHP 等多种编程语言以及多种爬虫框架。
项目自今年三月份上线以来受到爬虫爱好者们和开发者们的好评,不少使用者还表示会用 Crawlab 搭建公司的爬虫平台。经过近数月的迭代,我们陆续上线了定时任务、数据分析、网站信息、可配置爬虫、自动提取字段、下载结果、上传爬虫等功能,将 Crawlab 打造得更加实用,更加全面,能够真正帮助用户解决爬虫管理困难的问题。
Crawlab 主要解决的是大量爬虫管理困难的问题,例如需要监控上百个网站的参杂scrapy
和selenium
的项目不容易做到同时管理,而且命令行管理的成本非常高,还容易出错。Crawlab 支持任何语言和任何框架,配合任务调度、任务监控,很容易做到对成规模的爬虫项目进行有效监控管理。
本次v0.3.0
版本是一次重大更新,主要是将原来基于 Celery 的 Python 版本后台用 Golang 替代了。更新内容如下:
用 Golang 重构的初衷是为了解决一些根本性的 bug,例如定时任务无法稳定触发,节点不会自动显示为离线,等等。重构后的 API 会更加稳定,更加高性能,以前任务列表响应大概在几百毫秒,而现在仅仅需要几毫秒。此外,本次重构优化了用户使用流程,例如之前需要手动部署爬虫,需要用户点击很多次才能运行爬虫;而现在,所有爬虫都是自动部署,代价是用户上传爬虫之后需要等待不到 1 分钟的时间,待爬虫文件通过 GridFS 部署到所有节点之后,才可以运行(当然,主节点是可以直接运行的)。本次重构还加入了一些附加功能,例如用户权限的功能(提供了基础的权限管理)、节点拓扑图、文件管理等等。总的来说,本次更新将 Crawlab 打造得更加稳定和实用。
很遗憾,由于时间紧张,没有将可配置爬虫移植到新版 Crawlab 上。但是我们后面会将该功能加入进来。
不过,如果您有更好的 idea,欢迎随时提需求。
如果您觉得 Crawlab 对您的日常开发或公司有帮助,请加作者微信 tikazyq1 并注明"Crawlab",作者会将你拉入群。欢迎在 Github 上进行 star,以及,如果遇到任何问题,请随时在 Github 上提 issue。另外,欢迎您对 Crawlab 做开发贡献。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.