
Crawleur Web CLI interactif
Crawleur Web CLI interactif.
Evine est un crawleur et scraper web simple, rapide et interactif écrit en Golang. Evine est utile pour un large éventail d'objectifs tels que l'extraction de métadonnées et de données, le data mining, la reconnaissance et les tests.
Si vous aimez le projet, donnez-lui une étoile. Cela m'oblige à développer le projet !
Des versions binaires pré-compilées sont également disponibles (recommandé).
go get github.com/saeeddhqan/evine
"$GOPATH/bin/evine" -h
git clone https://github.com/saeeddhqan/evine.git
cd evine
go build .
mv evine /usr/local/bin
evine --help
Note : golang 1.13.x requis.
evine -h
Cela affichera l'aide de l'outil :
Les clés sont des mots-clés prédéfinis qui peuvent être utilisés pour spécifier des données comme les URL dans le périmètre, les URL hors périmètre, les emails, etc. Liste de toutes les clés :
Peut-être voulez-vous un fichier qui n'est pas défini dans les clés. Que pouvez-vous faire ? Vous pouvez simplement écrire l'extension du fichier dans la vue Query. comme png, xml, txt, docx, xlsx, a, mp3, etc.
Si vous avez des compétences de base en JQuery, vous pouvez facilement utiliser cette fonctionnalité, mais sinon, ce n'est pas très difficile. Pour un aperçu rapide des sélecteurs, w3schools est une excellente source.
exemple (Pour trouver source[src]) :
$("source").attr("src") // To find all of source[src] urls
$("h1").text() // To find h1 values
Modèle :
$("SELECTOR").METHOD_NAME("arg")
Il ne prend pas en charge les requêtes comme ci-dessous :
$('SELECTOR').METHOD("arg")
$('SELECTOR').METHOD('arg')
$("SELECTOR" ).METHOD("arg" )
Les méthodes sont décrites ci-dessous :
Pour signaler des bugs ou des suggestions, créez une issue.
Evine est fortement inspiré par wuzz.
| Keybinding | Description |
|---|
| Entrée | Lancer le crawleur (depuis la vue URL) |
| Entrée | Afficher la réponse (depuis les vues Keys et Regex) |
| Tab | Vue suivante |
| Ctrl+Espace | Lancer le crawleur |
| Ctrl+S | Enregistrer la réponse |
| Ctrl+Z | Quitter |
| Ctrl+R | Restaurer les valeurs par défaut (depuis les vues Options et Headers) |
| Ctrl+Q | Fermer la vue d'enregistrement de réponse (depuis la vue Save) |
| Drapeau | Description | Exemple |
|---|
| -url | URL à crawler | evine -url toscrape.com |
| -url-exclude string | Exclure les URL correspondant à cette regex (par défaut ".*") | evine -url-exclude ?id= |
| -domain-exclude string | Exclure les domaines dans le périmètre à crawler. Séparer par des virgules. Par défaut = domaine racine | evine -domain-exclude host1.tld,host2.tld |
| -code-exclude string | Exclure les codes de statut HTTP avec ces codes. Séparer par '|' (par défaut ".*") | evine -code-exclude 200,201 |
| -delay int | Pause entre chaque requête (millisecondes) | evine -delay 300 |
| -depth | Niveau de profondeur de recherche du scraper (par défaut 1) | evine -depth 2 |
| -thread int | Le nombre de goroutines concurrentes pour la résolution (par défaut 5) | evine -thread 10 |
| -header | En-tête HTTP pour chaque requête (les champs doivent être séparés par \n). | evine -header KEY: VALUE\nKEY1: VALUE1 |
| -proxy string | Proxy par scheme://ip:port | evine -proxy http://1.1.1.1:8080 |
| -scheme string | Définir le schéma pour les requêtes (par défaut "https") | evine -scheme http |
| -timeout int | Secondes d'attente avant expiration (par défaut 10) | evine -timeout 15 |
| -query string | Expression JQuery (cela peut être une extension de fichier (pdf), une requête clé (url,script,css,..) ou un sélecteur jQuery ($("a[class='hdr']).attr('hdr'))) | evine -query url,pdf,txt |
| -regex string | Rechercher l'expression régulière dans le contenu de la page | evine -regex 'User.+' |
| -logger string | Journaliser les erreurs dans un fichier | evine -logger log.txt |
| -max-regex int | Résultat maximal de la recherche regex pour le champ regex (par défaut 1000) | evine -max-regex -1 |
| -robots | Scraper robots.txt pour les URL et les utiliser comme graines | evine -robots |
| -sitemap | Scraper sitemap.xml pour les URL et les utiliser comme graines | evine -sitemap |
| -wayback | Scraper WayBackURLs (web.archive.org) pour les URL et les utiliser comme graines | evine -sitemap |