首頁 > 後端開發 > Golang > 主體

Fitter - 開源無程式碼工具,用於映射減少來自不同來源甚至更多的資料!

Barbara Streisand
發布: 2024-10-31 20:21:02
原創
913 人瀏覽過

大家好!

我是 Pxyup,今天我想透過開源專案 Fitter 代表您。

Fitter - Open Source no-code tool for map-reduce data from different source and even more! 像素向上 / 鉗工

從 API/網站收集資訊的新方法

Fitter Fitter CLI

Fitter - 從 API/網站收集資訊的新方法

Fitter CLI - 小型 cli 指令,提供 Fitter 的結果以供測試/調試/家庭使用

Fitter Lib - 作為函式庫提供 fitter CLI 功能的函式庫

Fitter - Open Source no-code tool for map-reduce data from different source and even more!

資訊收集方式

  1. 伺服器 - 解析來自某些 API 或 http 請求的回應(使用 http.Client)
  2. 瀏覽器 - 使用 chromium docker playwright/cypress 模擬真實瀏覽器並取得 DOM 資訊
  3. 靜態 - 將靜態字串解析為資料

可解析的格式

  1. JSON - 解析 JSON 以取得特定資訊
  2. XML - 解析 xml 樹以取得特定資訊
  3. HTML - 解析 dom 樹以取得特定資訊
  4. XPath - 解析 dom 樹以獲取特定信息,但透過 xpath

像圖書館一樣使用

go get github.com/PxyUp/fitter
登入後複製
登入後複製
登入後複製
登入後複製
進入全螢幕模式 退出全螢幕模式
go get github.com/PxyUp/fitter
登入後複製
登入後複製
登入後複製
登入後複製
進入全螢幕模式 退出全螢幕模式
在 GitHub 上查看

它是如何創建的

2023 年,我提出了一個名為 Trip Searcher 的想法:

go get github.com/PxyUp/fitter
登入後複製
登入後複製
登入後複製
登入後複製

旅行搜尋器將監控航班並返回從出發城市出發的潛在路線,包括到各個目的地的總價格,並向 Telegram 發送通知:

package main
import (
    "fmt"
    "github.com/PxyUp/fitter/lib"
    "github.com/PxyUp/fitter/pkg/config"
    "log"
    "net/http"
)

func main() {
    res, err := lib.Parse
登入後複製
登入後複製

對於此設置,我需要一個國家、城市和機場代碼列表來插入提到的網站。在開發過程中,我開始思考如果所有這些資訊都可以輕鬆組合和解析以簡化請求,那麼該有多方便,這引發了我稱為 Fitter 的專案的想法。

P.S.:此項目僅供個人使用。

裝配工 CLI

無程式碼映射縮減器,以使用者友好 (JSON) 或自訂格式傳回數據,適合儲存在資料庫中或透過 HTTP 傳輸。

特點:

  1. 支援透過 HTML(查詢)、JSON(gjson)、XML 和 xpath 解析器進行解析。
  2. 使用 Docker、Playwright(隱形模式)、HTTP 用戶端、快取、檔案或傳播字段,像瀏覽器一樣檢索數據,並支援自訂外掛程式。
  3. 為 Playwright 和 HTTP 用戶端提供代理支援。
  4. 可以透過外掛程式將資訊傳送或儲存到檔案、webhook、控制台等。
  5. 處理所有資料型態:int、float、bool、array、object、null 和 string。
  6. 組合(map-reduce)並轉換欄位。
  7. 利用強大的 expr 函式庫進行範本語法,該語法可在整個應用程式中使用。
  8. 以獨立的二進位檔案和 Docker 版本提供。
  9. 允許限制瀏覽器/Docker 使用的請求計數或實例。

範例

靜態生成:

這裡我們將只從硬編碼產生靜態陣列

1.  You enter a budget.
2.  You specify a starting city or country.
3.  You set the trip duration and a range of possible start and end dates.
登入後複製
登入後複製
1.  Flight costs (parsed from Google or Kiwi).
2.  Hotel prices (from Airbnb or Booking).
3.  Food costs (retrieved from Numbeo).
登入後複製
登入後複製

取得當前時間

從網站取得資訊並回傳給使用者。

./fitter_cli_v1.0.18-darwin-amd64 --url=https://raw.githubusercontent.com/PxyUp/fitter/refs/heads/master/examples/cli/config_static_connector.json
登入後複製
[
        "PAGE: 1 INDEX: 0",
        "PAGE: 2 INDEX: 1",
        "PAGE: 3 INDEX: 2",
        "PAGE: 4 INDEX: 3",
        "PAGE: 5 INDEX: 4"
]
登入後複製

取得當前 Steam 銷售量

這將在提供的目錄中建立sales.md

從 HackerNews 評論清單中獲取每個內容的最佳新聞

在此配置中,我們使用範本語法將第一個請求的結果傳播到下一個請求。

go get github.com/PxyUp/fitter
登入後複製
登入後複製
登入後複製
登入後複製
package main
import (
    "fmt"
    "github.com/PxyUp/fitter/lib"
    "github.com/PxyUp/fitter/pkg/config"
    "log"
    "net/http"
)

func main() {
    res, err := lib.Parse
登入後複製
登入後複製

從網站上抓取所有圖像並將其儲存在本地

1.  You enter a budget.
2.  You specify a starting city or country.
3.  You set the trip duration and a range of possible start and end dates.
登入後複製
登入後複製
1.  Flight costs (parsed from Google or Kiwi).
2.  Hotel prices (from Airbnb or Booking).
3.  Food costs (retrieved from Numbeo).
登入後複製
登入後複製

鉗工

Fitter 它是 Fitter CLI 的擴充版本,它有:

  1. 觸發器的Http伺服器
  2. 以電報訊息/webhook 的形式回傳回應
  3. 目前還沒有文件:)

用法

此工具可用於不同目的:

  1. 網頁抓取工具
  2. 附外掛的資料抓取器
  3. 進行特定的負載測試
  4. 建立聊天機器人 - 我用它來自動化我的電報頻道

例如這份工作每天都會發送最好的Dev.to文章:

計劃
  1. 增加更多瀏覽器工具。例如點擊/滾動(目前只能透過JS注入完成)
  2. 改進模板語法
  3. 新增自訂範本編輯器設定編輯器
  4. 可能會考慮使用 SASS 作為更適合的 CLI,為客戶執行自訂工作流程並將結果傳回 APP/Watch/等。

真的等待您的回饋!有什麼問題都會問

以上是Fitter - 開源無程式碼工具,用於映射減少來自不同來源甚至更多的資料!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!