htmlq : extraire le contenu d'un HTML sous Linux

Hébergement web de domaine

Vous devrez peut-être extraire le contenu d'un HTML. Et peut-être que vous utilisez déjà la commande jq pour extraire des données de documents JSON, mais avec htmlq vous aurez un outil similaire à celui-ci, il est même écrit en langage de programmation Rust, mais pour HTML.

L'outil htmlq est disponible pour d'autres systèmes de type Unix, et pas seulement pour Linux, vous pouvez donc également l'utiliser sur FreeBSD, macOS, etc. Utilisez également des sélecteurs CSS pour extraire les extraits de contenu du fichiers .html. C'est ainsi que vous pointez vers les éléments que vous voulez à partir d'une page Web dont vous avez besoin. Par exemple, vous pouvez extraire les images, ou le texte, etc., d'une URL.

La première est installer htmlq sur votre Linux. Par exemple, en prenant une distribution DEB comme référence (pour d'autres ce serait similaire, mais avec le gestionnaire de packages correspondant), on peut utiliser :

sudo apt install cargo

cargo install htmlq

cargo est le gestionnaire de paquets Rust, comme pip l'est pour le langage Python… Avec lui, vous pouvez facilement installer une multitude de paquets créés dans Rust. Soit dit en passant, vous aurez également besoin d'avoir le paquet rustc installé si vous ne l'avez pas déjà sur votre distribution.

Une fois installé, son utilisation est simple. Par exemple, imaginez que vous voulez trouver contenu sur une page par son identifiant:

curl -s url | htmlq '#css-selector'
curl -s url2 | htmlq '#css-selector'
curl -s https://www.linuxadictos.com/ | htmlq --pretty '#content' | more

Ou pour retrouvez tous les liens de une page, vous pouvez utiliser cette autre commande :

curl -s https://www.linuxadictos.com | htmlq --attribute href a

Enfin, si vous avez des questions sur les options disponible en htmlq, vous pouvez consulter leur aide avec cette commande :

htmlq --help

J'espère que ce petit tuto vous aura aidé. Comme vous pouvez le voir, son utilisation est simple, et vous pouvez le combiner avec des outils tels que boucle, entre autres.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.