Sommaire
L’outil Htmlq réalisé par les développeurs mgdm et bbcmgdm permet d’extraire des données ciblées d’une page html en ligne. Celui-ci fonctionne sur Mac, Linux et Windows, uniquement par une invite de commande.
Ces programmeurs demandent à leur programme, de prélever des informations via un sélecteur CSS de son choix qui pointe sur une classe ou un identifiant.
Il est notamment possible d’extraire :
- uniquement le texte de la page html
- l’ensemble des liens
- une partie d’une page par ID
- obtenir le contenu textuel d’un article
- supprimer un nœud avant la sortie…
Installation de l’outil htmlq
Cargo
cargo install htmlq
FreeBSD pkg
pkg install htmlq
Homebrew (Macos)
brew install htmlq
Scoop (Windows)
scoop install htmlq
Utilisation de htmlq
En tapant la commande :
htmlq -h
Vous aurez accès à l’aide pour savoir quelles commandes vous pouvez utiliser. Voici ce que l’on obtient :
➜ ~ htmlq-h
htmlq 0.4.0
Michael Maclean <michael@mgdm.net>
Exécute des sélecteurs CSS sur HTML
USAGE:
htmlq [FLAGS] [OPTIONS] [--] [sélecteur]...
DRAPEAUX :
-B, --detect-base Essayez de détecter l'URL de base à partir de la balise <base> dans le document. S'il n'est pas trouvé, la valeur par défaut est
la valeur de --base, si elle est fournie
-h, --help Affiche les informations d'aide
-w, --ignore-whitespace Lors de l'impression de nœuds de texte, ignore ceux qui sont entièrement constitués d'espaces
-p, --pretty Jolie-imprime la sortie sérialisée
-t, --text Afficher uniquement le contenu des nœuds de texte à l'intérieur des éléments sélectionnés
-V, --version Affiche les informations de version
OPTIONS :
-a, --attribute <attribut> Renvoie uniquement cet attribut (s'il est présent) à partir des éléments sélectionnés
-b, --base <base> Utiliser cette URL comme base pour les liens
-f, --filename <FILE> Le fichier d'entrée. Par défaut, stdin
-o, --output <FILE> Le fichier de sortie. Par défaut, stdout
-r, --remove-nodes <SELECTOR>... Supprimer les nœuds correspondant à cette expression avant la sortie. Peut être spécifié plusieurs
fois
ARGS :
<selector>... L'expression CSS à sélectionner [défaut : html]
Trouver tous les liens d’une page
$ curl --silent URLPAGESITEWEB | htmlq --attribute href a
Exemple :
Utiliser avec cURL pour trouver une partie d’une page par ID
$ curl --silent URLPAGESITEWEB | htmlq '#NOMDELID'
Exemple :
➜ ~ curl --silent https://www.breakingtech.fr | htmlq '#menu-item-345'
<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-345 bgnav" data-item-row="default" id="menu-item-345"><a href="https://www.breakingtech.fr/tech/ordinateurs/">Ordinateurs</a></li>
<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-345 bgnav" data-item-row="default" id="menu-item-345"><a href="https://www.breakingtech.fr/tech/ordinateurs/">Ordinateurs</a></li>
Obtenir le contenu texte d’un article
$ curl --silent URLPAGESITEWEB | htmlq --text .NOMDELACLASSE
Exemple :
~ curl --silent https://www.breakingtech.fr/facebook-espionne-la-vie-privee-de-ses-utilisateurs/ | htmlq --text .content-inner
Sommaire
Facebook espionne la vie privée de ses utilisateursQu’est ce qu’une donnée personnelle ?Facebook au cœur de nombreux scandales2019 nouvelle année, nouveaux scandales FacebookComment se rémunère Facebook ?Sommes nous bien protéger par la loi française ?Comment protéger notre vie privée et nos données ?Comment retirer la publicité ciblée sur FacebookBig data is watching you!
Facebook espionne ce que vous faites ? Simple bug ou tentative d’espionnage, Facebook de nouveau épinglé pour une utilisation douteuse du micro et de la caméra de ses utilisateurs. Avis à tous les utilisateurs de smartphones, on vous surveillent. Et ceci avec votre accord !!! Soyez vigilants !
Facebook espionne la vie privée de ses utilisateurs...
Rendu Html bien ordonné
curl --silent URLPAGESITEWEB | htmlq --pretty '.NOMDELACLASSE'
Exemple :
Si vous souhaitez plus d’information, rendez-vous sur leur page Gitub.