Crawlab 是由 Crawlab 开发组 开发和维护的分布式爬虫管理平台。由于是基于 Golang,具有很强的灵活性和高性能,可以适用于大量的爬虫管理和任务监控等爬虫部署执行场景。Crawlab 非常灵活,可以自由执行各种语言和框架的爬虫,例如 Python、Node.js 、Golang、Java、Scrapy、Selenium、Puppeteer 等等。Crawlab 目前支持的功能包括:节点注册发现、爬虫上传、任务调度、任务监控、日志管理、数据分析、定时任务等。从今年 3 月份上线以来,已经收获不少爬虫工程师以及开发者的好评,很多用户已经在企业中部署使用 Crawlab。现在 Crawlab 在 Github 上已经有近 4k stars,Dockerhub 上有近 8k pulls。另外,Crawlab 还收到了不少实际用户反馈的建议,在 Github 上已经解决了 147 个 issues,open 的还有 48 个。
在一次用户调研中,用户反馈认为 Crawlab 提供主要价值是让爬虫变得更简单,所谓的 "Easy crawling"。因此,为了简化爬虫部署流程,我们在最近的一次更新 v0.4.2 版本中,我们上线了 文件管理 功能,让用户可以自由编辑、保存、添加、重命名爬虫文件,这样爬虫工程师就不需要因为改了一行代码而重新上传 zip 文件了。
文件编辑器是基于 CodeMirror,因此界面非常精美,而操作也非常容易,支持代码高亮功能,文件支持包括 .py
、.js
、.go
、.sh
、.php
、.md
、Spiderfile
(可配置爬虫的 yaml 抓取规则配置文件,参考《爬虫管理平台 Crawlab v0.4.1 发布(可配置爬虫)》)。
以下是文件编辑器截图。
同样,Crawlab 也有目录列表展示功能,能够展示指定目录下的文件和文件夹,并带有导航功能。
文件管理功能旨在帮助爬虫工程师在线预览、修改爬虫文件,适合做一些一次性的、非长期性的文件修改。注意:Crawlab 暂时还不支持版本管理功能,因此每一次修改并不会被记录,要用版本管理系统( VCS )将爬虫文件管理起来最好的方式还是利用 Git/SVN 等工具,然后自己写脚本或手动打包上传爬虫文件。后期我们将优化部署流程,将整合 GitLab、Github 等代码仓库,这样会增强爬虫代码的可追溯性。
如果您是直接部署,请拉最新 Github 代码,然后按照部署流程重新部署就可以了。
如果您是 Docker 部署,请执行以下代码拉取最新镜像,然后重启容器。
docker pull tikazyq/crawlab:latest
⚠️注意:升级前,请注意备份数据库。
Crawlab 发展到现在已经有不少的功能了,而且随着用户的反馈,我们还将不断的加入新的实用功能。
以下是 Crawlab 的初步产品规划。
这些功能是根据用户的反馈( Github Issue、群反馈等)汇总而成的。不过本着敏捷的原则,这些规划也会根据进度和进一步反馈而做调整,因此并不绝对,发布日期也不会固定。如果大家能在 Github 主页底部给开发组成员打赏买几杯咖啡,开发组可能会更加有信心将 Crawlab 新功能更快的发布出来给大家使用。
如果您觉得 Crawlab 对您的日常开发或公司有帮助,请加作者微信 tikazyq1 并注明 "Crawlab",作者会将你拉入群。欢迎在 Github 上进行 star,以及,如果遇到任何问题,请随时在 Github 上提 issue。另外,欢迎您对 Crawlab 做开发贡献。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.