爬蟲管理平臺Crawlab v0.4.1發布(可配置爬蟲)

      網友投稿 947 2022-05-30

      前言

      Crawlab是基于Golang的分布式爬蟲管理平臺,支持Python、NodeJS、Java、Go、PHP等多種編程語言以及多種爬蟲框架。

      相信已經對 Crawlab 有所了解的同學應該大概了解 Crawlab 是一個爬蟲管理平臺。如果不理解什么是爬蟲管理平臺,建議讀者先閱讀《如何快速搭建實用的爬蟲管理平臺》。簡單來說,爬蟲管理平臺是一種能夠管理爬蟲和執行、監控爬蟲任務的平臺,可以將爬蟲操作可視化出來。而 Crawlab 作為一個靈活且強大的爬蟲管理平臺,從今年 3 月份上線以來,已經收獲不少爬蟲工程師以及開發者的好評,很多用戶已經在企業中部署使用 Crawlab。現在 Crawlab 在 Github 上已經有 3.1k stars,Dockerhub 上有 7.1k pulls。另外,Crawlab 還收到了不少實際用戶反饋的建議,在 Github 上已經解決了 122 個 issues,open 的還有 48 個。除了 bug 以外,其中有非常多的建設性意見,包括采用配置文件來配置怕環境、爬蟲任務數據導出、更好的文件管理等等。

      Crawlab 為什么能受到用戶的好評?我們總結下來,主要是 Crawlab 解決了爬蟲工程師要管理很多爬蟲的痛點。一般爬蟲工程師需要查看爬蟲任務運行情況,例如錯誤日志、時間等等,這些 Crawlab 都可以幫他們做到;另外爬蟲工程師還需要定時執行任務,而 Crawlab 恰好也有定時任務的功能;此外,Crawlab 是 golang 寫的后端,在穩定性上來說是比較強的。我們在調研了用戶對 Crawlab 的定位后,發現用戶任務 Crawlab 提供的最大價值是便捷性,也就是 Easiness。因此,在本次更新 v0.4.1 (嚴格意義上來說是 v0.4.0,但這一版有 bug)中 Crawlab 推出了另一個重大功能,可配置爬蟲,能夠進一步的簡化抓取過程。下面我們將著重介紹一下。

      可配置爬蟲簡介

      如果是 Crawlab 早期的用戶,可能已經對可配置爬蟲這個名詞不陌生,因為我們在 v0.2.1 中已經開發過這樣的功能(詳情見《我是如何在3分鐘內開發完一個爬蟲的》)。只是當時的版本還非常局限,僅僅支持非常簡單的配置,而且穩定性也不高,實用性不強,后來就在遷移到 golang 版本的時候移除了。

      但由于很多 Crawlab 的用戶都在問可配置爬蟲,甚至有人在 Github 上提出了這樣的 enhancement issue,我們意識到這個需求還是很普遍的。因此,這次版本更新中就將這個功能遷移回來了。但是本次更新的可配置爬蟲跟 v0.2.1 版本有很大的不同,雖然同樣都是基于 scrapy 框架,但不同的是 v0.4.1 版本相較于老版本來說更強大,更通用。

      下面是本次更新的可配置爬蟲的截圖。

      階段(Stage)、字段(Field)配置

      流程圖

      設置

      爬蟲管理平臺Crawlab v0.4.1發布(可配置爬蟲)

      Spiderfile

      簡單來說,可配置爬蟲就是能夠通過不寫代碼、只配置抓取規則的方式來編寫爬蟲,一個不復雜的列表+詳情頁的爬蟲很快就寫好了,大概 1-5 分鐘之內就可以寫完。另外 Spiderfile 是 Crawlab 新開發的定義爬蟲的方式,旨在讓配置爬蟲更簡單,就跟 Dockerfile、docker-compose.yml、Jenkinsfile 等類似,利用配置代碼來定義一系列操作,做到 Spider as Code。我們今后的開發將會圍繞著 Spiderfile,包括爬蟲所需的庫、爬蟲運行參數、爬蟲定時任務等等,都可以在 Spiderfile 中定義,這個我們開發組后續會逐步完善。

      可配置爬蟲原理

      下面,我們將介紹可配置爬蟲的一些基本概念。下圖是可配置爬蟲中各個概念之間的關系。

      可配置爬蟲包括如下元素:

      Spiderfile:類似 Dockerfile、Jenkinsfile、docker-compose.yml 文件,是可配置爬蟲的 YAML 格式的配置文件,抓取的階段、字段、分頁等都可以由這個文件配置;

      階段(Stage):可配置爬蟲抓取的不同階段,一個階段通常對應一個類別頁面的抓取過程,例如列表頁為一個階段,詳情頁為另一個階段,在 Scrapy 中對應不同的回調函數;一個階段中可以定義列表選擇器和分頁選擇器以及字段定義;一個階段中可以通過定義下一階段,且只能定義一個。

      字段(Field):字段其實就是抓取數據的字段,例如標題、URL、價格、描述等等;字段提取規則既可以用 XPath 頁可以用 CSS。

      前言

      Crawlab是基于Golang的分布式爬蟲管理平臺,支持Python、NodeJS、Java、Go、PHP等多種編程語言以及多種爬蟲框架。

      相信已經對 Crawlab 有所了解的同學應該大概了解 Crawlab 是一個爬蟲管理平臺。如果不理解什么是爬蟲管理平臺,建議讀者先閱讀《如何快速搭建實用的爬蟲管理平臺》。簡單來說,爬蟲管理平臺是一種能夠管理爬蟲和執行、監控爬蟲任務的平臺,可以將爬蟲操作可視化出來。而 Crawlab 作為一個靈活且強大的爬蟲管理平臺,從今年 3 月份上線以來,已經收獲不少爬蟲工程師以及開發者的好評,很多用戶已經在企業中部署使用 Crawlab。現在 Crawlab 在 Github 上已經有 3.1k stars,Dockerhub 上有 7.1k pulls。另外,Crawlab 還收到了不少實際用戶反饋的建議,在 Github 上已經解決了 122 個 issues,open 的還有 48 個。除了 bug 以外,其中有非常多的建設性意見,包括采用配置文件來配置怕環境、爬蟲任務數據導出、更好的文件管理等等。

      Crawlab 為什么能受到用戶的好評?我們總結下來,主要是 Crawlab 解決了爬蟲工程師要管理很多爬蟲的痛點。一般爬蟲工程師需要查看爬蟲任務運行情況,例如錯誤日志、時間等等,這些 Crawlab 都可以幫他們做到;另外爬蟲工程師還需要定時執行任務,而 Crawlab 恰好也有定時任務的功能;此外,Crawlab 是 golang 寫的后端,在穩定性上來說是比較強的。我們在調研了用戶對 Crawlab 的定位后,發現用戶任務 Crawlab 提供的最大價值是便捷性,也就是 Easiness。因此,在本次更新 v0.4.1 (嚴格意義上來說是 v0.4.0,但這一版有 bug)中 Crawlab 推出了另一個重大功能,可配置爬蟲,能夠進一步的簡化抓取過程。下面我們將著重介紹一下。

      可配置爬蟲簡介

      如果是 Crawlab 早期的用戶,可能已經對可配置爬蟲這個名詞不陌生,因為我們在 v0.2.1 中已經開發過這樣的功能(詳情見《我是如何在3分鐘內開發完一個爬蟲的》)。只是當時的版本還非常局限,僅僅支持非常簡單的配置,而且穩定性也不高,實用性不強,后來就在遷移到 golang 版本的時候移除了。

      但由于很多 Crawlab 的用戶都在問可配置爬蟲,甚至有人在 Github 上提出了這樣的 enhancement issue,我們意識到這個需求還是很普遍的。因此,這次版本更新中就將這個功能遷移回來了。但是本次更新的可配置爬蟲跟 v0.2.1 版本有很大的不同,雖然同樣都是基于 scrapy 框架,但不同的是 v0.4.1 版本相較于老版本來說更強大,更通用。

      下面是本次更新的可配置爬蟲的截圖。

      階段(Stage)、字段(Field)配置

      流程圖

      設置

      Spiderfile

      簡單來說,可配置爬蟲就是能夠通過不寫代碼、只配置抓取規則的方式來編寫爬蟲,一個不復雜的列表+詳情頁的爬蟲很快就寫好了,大概 1-5 分鐘之內就可以寫完。另外 Spiderfile 是 Crawlab 新開發的定義爬蟲的方式,旨在讓配置爬蟲更簡單,就跟 Dockerfile、docker-compose.yml、Jenkinsfile 等類似,利用配置代碼來定義一系列操作,做到 Spider as Code。我們今后的開發將會圍繞著 Spiderfile,包括爬蟲所需的庫、爬蟲運行參數、爬蟲定時任務等等,都可以在 Spiderfile 中定義,這個我們開發組后續會逐步完善。

      可配置爬蟲原理

      下面,我們將介紹可配置爬蟲的一些基本概念。下圖是可配置爬蟲中各個概念之間的關系。

      可配置爬蟲包括如下元素:

      Spiderfile:類似 Dockerfile、Jenkinsfile、docker-compose.yml 文件,是可配置爬蟲的 YAML 格式的配置文件,抓取的階段、字段、分頁等都可以由這個文件配置;

      階段(Stage):可配置爬蟲抓取的不同階段,一個階段通常對應一個類別頁面的抓取過程,例如列表頁為一個階段,詳情頁為另一個階段,在 Scrapy 中對應不同的回調函數;一個階段中可以定義列表選擇器和分頁選擇器以及字段定義;一個階段中可以通過定義下一階段,且只能定義一個。

      字段(Field):字段其實就是抓取數據的字段,例如標題、URL、價格、描述等等;字段提取規則既可以用 XPath 頁可以用 CSS。

      Crawlab 的可配置爬蟲是基于 Scrapy 的,因此天生支持并發。而且,可配置爬蟲完全支持自定義爬蟲的一般功能,因此也支持任務調度、任務監控、日志監控、數據分析。其可配置原理是,Crawlab 的可配置爬蟲會根據 Spiderfile 的配置規則來生成 scrapy 代碼,然后讓其像自定義爬蟲一樣運行。這樣來看,可配置爬蟲是一種特殊的自定義爬蟲,只是其代碼是由 Spiderfile 配置文件轉譯后生成的。

      更新詳情

      0.4.1 (2019-12-13)

      Spiderfile Optimization. Stages changed from dictionary to array. #358

      Baidu Tongji Update.

      Unable to display schedule tasks. #353

      Duplicate node registration. #334

      0.4.0 (2019-12-06)

      Configurable Spider. Allow users to add spiders using Spiderfile to configure crawling rules.

      Execution Mode. Allow users to select 3 modes for task execution: All Nodes, Selected Nodes and Random.

      Task accidentally killed. #306

      Documentation fix. #301 #301

      Direct deploy incompatible with Windows. #288

      Log files lost. #269

      TODO / Roadmap

      [ ] 結果展示: 支持 JSON 數據展示

      [ ] 交互性: 任務列表、爬蟲列表支持篩選、排序

      [ ] 用戶管理: 配置是否允許用戶注冊;添加、刪除、修改用戶

      [ ] 文件管理: 新增、保存、刪除、重命名文件

      [ ] 定時任務: 前端生成 Cron;與 Linux 一致;爬蟲詳情顯示定時任務

      [ ] 服務器: 利用Nginx轉發將CRAWLAB_API_ADDRESS設置為默認IP

      [x] 免責聲明

      [ ] Crawlab SDK

      [ ] Crawlab 插件

      項目地址

      Github: https://github.com/crawlab-team/crawlab

      Demo: http://crawlab.cn/demo

      文檔: http://docs.crawlab.cn

      Go

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Redis應用--Redis-cluster集群部署
      下一篇:Python爬蟲私活,代碼公開!采集了20000+漫展歷史數據,一言不合就開源
      相關文章
      亚洲人成精品久久久久| 校园亚洲春色另类小说合集| 亚洲精品国自产拍在线观看| 亚洲高清一区二区三区电影| 亚洲午夜成人精品无码色欲| 亚洲人成伊人成综合网久久| 亚洲精品**中文毛片| 亚洲高清中文字幕| 亚洲视频一区二区在线观看| 久久久亚洲欧洲日产国码二区| 亚洲av永久无码精品漫画| 亚洲视频在线精品| 亚洲中文字幕伊人久久无码| 久久亚洲国产精品五月天婷| 亚洲国产中文字幕在线观看 | 妇女自拍偷自拍亚洲精品| 亚洲av色香蕉一区二区三区蜜桃| 亚洲精品久久久久无码AV片软件| 亚洲欧美国产精品专区久久| 亚洲精品宾馆在线精品酒店| 成人婷婷网色偷偷亚洲男人的天堂| 亚洲AV成人无码网站| 国产亚洲高清在线精品不卡| 亚洲国产日韩成人综合天堂| 亚洲综合精品网站在线观看| 亚洲线精品一区二区三区影音先锋| 亚洲精品无码高潮喷水在线| 亚洲国产精品无码久久久蜜芽| 亚洲成av人在线视| 1区1区3区4区产品亚洲| 亚洲av永久无码嘿嘿嘿| 亚洲一久久久久久久久| 精品亚洲成a人在线观看| 亚洲真人日本在线| 国产V亚洲V天堂无码久久久| 久久亚洲国产成人精品性色| 亚洲不卡在线观看| 中日韩亚洲人成无码网站| 亚洲a∨无码一区二区| 亚洲色一色噜一噜噜噜| 亚洲成AV人片在线观看|