Maison >
développement back-end >
Golang >
Fitter - Outil open source sans code pour réduire les données de différentes sources et bien plus encore !
Fitter - Outil open source sans code pour réduire les données de différentes sources et bien plus encore !
Barbara Streisand
Libérer: 2024-10-31 20:21:02
original
979 Les gens l'ont consulté
Bonjour à tous!
Je m'appelle Pxyup et aujourd'hui je veux représenter pour vous le projet open source Fitter.
PxyUp
/
installateur
Nouvelle façon de collecter des informations à partir des API/sites Web
CLI Monteur Monteur
Fitter - nouvelle façon de collecter des informations à partir des API/sites Web
Fitter CLI - petite commande cli qui fournit le résultat de Fitter pour une utilisation test/débogage/maison
Fitter Lib - bibliothèque qui fournit les fonctionnalités de Fitter CLI en tant que bibliothèque
Moyen de collecter des informations
Serveur - analyse de la réponse de certaines API ou requête http (utilisation de http.Client)
Navigateur - émulez un vrai navigateur à l'aide du dramaturge/cyprès Chrome Docker et obtenez des informations DOM
Statique - analyse d'une chaîne statique en tant que données
Format pouvant être analysé
JSON - analyser JSON pour obtenir des informations spécifiques
XML - analyse de l'arborescence XML pour obtenir des informations spécifiques
HTML - analyse de l'arbre dom pour obtenir des informations spécifiques
XPath - analyse de l'arbre dom pour obtenir des informations spécifiques mais par XPath
Utiliser comme une bibliothèque
go get github.com/PxyUp/fitter
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
go get github.com/PxyUp/fitter
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
…
Voir sur GitHub
Comment il a été créé
En 2023, j'ai travaillé sur une idée appelée Trip Searcher :
go get github.com/PxyUp/fitter
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Le Trip Searcher surveillerait les vols et renverrait les itinéraires potentiels depuis la ville de départ, y compris les prix totaux vers diverses destinations, et enverrait des notifications à Telegram avec :
Pour cette configuration, j'avais besoin d'une liste de pays, de villes et de codes d'aéroport à connecter aux sites mentionnés. Pendant le développement, j'ai commencé à réfléchir à combien il serait pratique si toutes ces informations pouvaient être facilement combinées et analysées pour rationaliser les demandes, ce qui a conduit à l'idée d'un projet que j'appelle Fitter.
P.S. : Ce projet était destiné à un usage personnel.
CLI installateur
Un map-reducer sans code qui renvoie les données dans des formats conviviaux (JSON) ou personnalisés, adaptés au stockage dans une base de données ou à la transmission via HTTP.
Caractéristiques :
Prend en charge l'analyse via les analyseurs HTML (requête), JSON (gjson), XML et XPath.
Récupère les données comme le ferait un navigateur, à l'aide de Docker, Playwright (mode furtif), du client HTTP, du cache, du fichier ou des champs propagés, avec prise en charge des plugins personnalisés.
Fournit une prise en charge proxy pour les clients Playwright et HTTP.
Peut envoyer ou stocker des informations vers un fichier, un webhook, une console, etc. via des plugins.
Gère tous les types de données : int, float, bool, array, object, null et string.
Combine (map-reduce) et transforme les champs.
Utilise la puissante bibliothèque expr pour la syntaxe des modèles, disponible dans toute l'application.
Offert en version binaire autonome et Docker.
Permet de limiter le nombre de requêtes ou d'instances pour l'utilisation du navigateur/Docker.
Exemples
Génération statique :
Ici, nous allons simplement générer un tableau statique à partir du code en dur
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.
Copier après la connexion
Copier après la connexion
1. Flight costs (parsed from Google or Kiwi).
2. Hotel prices (from Airbnb or Booking).
3. Food costs (retrieved from Numbeo).
Copier après la connexion
Copier après la connexion
Obtenir l'heure actuelle
Obtenir des informations sur le site Web et les renvoyer à l'utilisateur.
Grattez toutes les images du site Web et stockez-les localement
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.
Copier après la connexion
Copier après la connexion
1. Flight costs (parsed from Google or Kiwi).
2. Hotel prices (from Airbnb or Booking).
3. Food costs (retrieved from Numbeo).
Copier après la connexion
Copier après la connexion
Installateur
Fitter c'est une version étendue de la CLI Fitter qui a :
Serveur HTTP pour déclencheur
Renvoyer la réponse sous forme de message télégramme/webhook
Et qui n'avait actuellement pas de documentation :)
Usage
Ces outils peuvent être utilisés à différentes fins :
Scracker Web
Récupérateur de données avec plugins
Produire des tests de charge spécifiques
Créez des chatbots - je l'utilise pour automatiser ma chaîne de télégramme
Par exemple, ce travail envoie chaque jour les meilleurs articles Dev.to :
Forfaits
Ajoutez plus d'outils de navigation. Comme cliquer/faire défiler (actuellement, cela ne peut être fait que par injection JS)
Améliorer la syntaxe du modèle
Ajouter un éditeur de configuration d'éditeur de modèles personnalisés
Peut-être penserons-nous à SASS pour une CLI plus adaptée pour exécuter un flux de travail personnalisé pour les clients et renvoyer le résultat à APP/Watch/etc.
Attendez vraiment vos retours ! Posez n'importe quelle question que je poserai
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn