Heim  >  Artikel  >  Backend-Entwicklung  >  Fitter – Open-Source-No-Code-Tool zur Kartenreduzierung von Daten aus verschiedenen Quellen und noch mehr!

Fitter – Open-Source-No-Code-Tool zur Kartenreduzierung von Daten aus verschiedenen Quellen und noch mehr!

Barbara Streisand
Barbara StreisandOriginal
2024-10-31 20:21:02897Durchsuche

Hallo zusammen!

Ich bin Pxyup und möchte heute für Sie das Open-Source-Projekt Fitter vertreten.

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

Neue Möglichkeit, Informationen von den APIs/Websites zu sammeln

Fitter Fitter CLI

Fitter – neue Möglichkeit, Informationen von den APIs/Websites zu sammeln

Fitter CLI – kleiner CLI-Befehl, der Ergebnisse von Fitter für den Test-/Debug-/Heimgebrauch bereitstellt

Fitter Lib – Bibliothek, die die Funktionalität der Fitter-CLI als Bibliothek bereitstellt

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

Möglichkeit zum Sammeln von Informationen

  1. Server – Parsen der Antwort von einigen APIs oder HTTP-Anfragen (Verwendung von http.Client)
  2. Browser – emulieren Sie einen echten Browser mit Chromium Docker Playwright/Cypress und erhalten Sie DOM-Informationen
  3. Statisch – statische Zeichenfolge als Daten analysieren

Format, das analysiert werden kann

  1. JSON – Parsen von JSON, um spezifische Informationen zu erhalten
  2. XML – XML-Baum analysieren, um spezifische Informationen zu erhalten
  3. HTML – Analysieren des Dom-Baums, um spezifische Informationen zu erhalten
  4. XPath – Analysieren des Dom-Baums, um spezifische Informationen zu erhalten, jedoch über XPath

Verwendung wie eine Bibliothek

go get github.com/PxyUp/fitter
Vollbildmodus aufrufen Vollbildmodus verlassen
go get github.com/PxyUp/fitter
Vollbildmodus aufrufen Vollbildmodus verlassen
Auf GitHub ansehen

Wie es entstand

Im Jahr 2023 arbeitete ich an einer Idee namens Trip Searcher:

go get github.com/PxyUp/fitter

Der Trip Searcher würde Flüge überwachen und potenzielle Routen von der Startstadt zurückgeben, einschließlich der Gesamtpreise zu verschiedenen Zielen, und Benachrichtigungen an Telegram senden mit:

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

func main() {
    res, err := lib.Parse

Für dieses Setup benötigte ich eine Liste von Ländern, Städten und Flughafencodes, um sie in die genannten Websites einzubinden. Während der Entwicklung begann ich darüber nachzudenken, wie praktisch es wäre, wenn all diese Informationen einfach kombiniert und analysiert werden könnten, um Anfragen zu optimieren. Daraus entstand die Idee für ein Projekt, das ich Fitter nenne.

P.S.: Dieses Projekt war für den persönlichen Gebrauch.

Monteur-CLI

Ein Kartenreduzierer ohne Code, der Daten in benutzerfreundlichen (JSON) oder benutzerdefinierten Formaten zurückgibt, geeignet für die Speicherung in einer Datenbank oder die Übertragung über HTTP.

Eigenschaften:

  1. Unterstützt das Parsen über HTML (Abfrage), JSON (GJSON), XML und XPath-Parser.
  2. Ruft Daten wie ein Browser ab, mit Docker, Playwright (Stealth-Modus), HTTP-Client, Cache, Datei oder weitergegebenen Feldern, mit Unterstützung für benutzerdefinierte Plugins.
  3. Bietet Proxy-Unterstützung für Playwright- und HTTP-Clients.
  4. Kann Informationen über Plugins an eine Datei, einen Webhook, eine Konsole und mehr senden oder speichern.
  5. Verarbeitet alle Datentypen: int, float, bool, array, object, null und string.
  6. Kombiniert (Map-Reduce) und transformiert Felder.
  7. Nutzt die leistungsstarke expr-Bibliothek für die Vorlagensyntax, die in der gesamten Anwendung verfügbar ist.
  8. Wird als eigenständige Binär- und Docker-Version angeboten.
  9. Ermöglicht Beschränkungen der Anzahl von Anfragen oder Instanzen für die Browser-/Docker-Nutzung.

Beispiele

Statische Erzeugung:

Hier generieren wir einfach ein statisches Array aus fest codiertem

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).

Holen Sie sich die aktuelle Uhrzeit

Informationen von der Website abrufen und zum Benutzer zurückkehren.

./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"
]

Erhalten Sie aktuelle Steam-Angebote

Dadurch wird sales.md

im bereitgestellten Verzeichnis erstellt

Erhalten Sie jeweils die besten Nachrichten aus der Kommentarliste von HackerNews

In dieser Konfiguration verwenden wir Vorlagensyntax, um das Ergebnis von der ersten Anfrage zur nächsten weiterzugeben.

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

Entfernen Sie alle Bilder von der Website und speichern Sie sie lokal

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).

Monteur

Fitter ist eine erweiterte Version der Fitter-CLI mit:

  1. Http-Server für Trigger
  2. Antwort als Telegram-Nachricht/Webhook zurückgeben
  3. Und das hatte derzeit keine Dokumentation :)

Verwendung

Diese Werkzeuge können für verschiedene Zwecke verwendet werden:

  1. Web Scrapper
  2. Daten-Scrapper mit Plugins
  3. Erstellen Sie spezifische Belastungstests
  4. Erstellen Sie Chat-Bots – ich verwende es zur Automatisierung meines Telegram-Kanals

Zum Beispiel dieser Job senden Sie jeden Tag die besten Dev.to-Artikel:

Pläne
  1. Fügen Sie weitere Browser-Tools hinzu. Wie Klicken/Scrollen (derzeit nur durch JS-Injektion möglich)
  2. Vorlagensyntax verbessern
  3. Benutzerdefinierten Vorlageneditor-Konfigurationseditor hinzufügen
  4. Vielleicht denken wir über SASS nach, um die CLI zu verbessern, um einen benutzerdefinierten Workflow für Kunden auszuführen und das Ergebnis an APP/Watch/usw. zurückzugeben.

Warten Sie wirklich auf Ihr Feedback! Stellen Sie jede Frage, die ich stellen werde

Das obige ist der detaillierte Inhalt vonFitter – Open-Source-No-Code-Tool zur Kartenreduzierung von Daten aus verschiedenen Quellen und noch mehr!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn