Tutoriales

Cómo usar htmlq para extraer contenido de archivos HTML en Linux

metrola mayoría de nosotros usamos el amor y usamos el comando jq. Funciona en sistemas Linux o similares a Unix para extraer datos de documentos JSON. Recientemente encontré htmlq que es como jq y está escrito en rust durante mucho tiempo. Imagínese si pudiera buscar datos HTML sed o grep. Podemos buscar, cortar y filtrar datos HTML con htmlq. Veamos cómo instalar y usar esta práctica herramienta en Linux o Unix, y jugar con datos HTML.

¿Qué es una herramienta HTMLq?

Es como jq pero para html. Utiliza selectores CSS para extraer fragmentos de contenido de archivos HTML. En CSS, los selectores se utilizan para apuntar a los elementos HTML en nuestras páginas web que queremos diseñar. Por ejemplo, podemos extraer imágenes u otras URL fácilmente con esta herramienta.

Instale htmlq en Linux o Unix

Para instalar cargo y rustc en Ubuntu o Debian Linux usando el comando apt / apt-get:
sudo apt install cargo
Entonces ejecutarías:
cargo install htmlq

Guías exclusivas para seguidores de Patreon 🤓

  • Sin publicidad ni seguimiento
  • Instrucciones detalladas para desarrolladores y administradores de sistemas en Opensourceflare✨
  • Únase a mi Patreon para ayudar a los creadores de contenido independientes y lea las guías más recientes:

asociar Patreon

Instalar macOS Freight

Abra la aplicación Terminal y luego ejecute el comando de puerto como este:
sudo port install cargo
O puede instalar Homebrew en macOS para usar Brew Package Manager de la siguiente manera:

brew install rustup # installs both cargo and rustc
rustup-init
rustc --version

Carga interna de FreeBSD

Voy a usar el comando pkg para instalar rustc así:
sudo pkg install rust
Vea cómo instalar Rust para otros sistemas operativos. Ahora que tengo las herramientas rustc y cargo, ingreso el siguiente comando simple para obtener htmlq en mi sistema de desarrollo:
cargo install htmlq

¿Instalaste Rust durante mucho tiempo? Ahora instale htmlq para divertirse y obtener ganancias con el comando cargo.

Configurando su PATH

Asegúrese de agregar $ HOME / .cargo / bin a su variable PATH para poder ejecutar los binarios instalados con el comando de exportación

# sh/bash/ksh etc
export PATH="$PATH:$HOME/.cargo/bin" 
 
# tcsh/csh etc
setenv PATH $PATH:$HOME/.cargo/bin

Cómo usar htmlq para extraer contenido de archivos HTML en Linux o Unix

Usemos el comando curl para buscar parte de una página por ID:
curl -s url | htmlq '#css-selector'
curl -s url2 | htmlq '#css-selector'
curl -s https://www.cyberciti.biz/faq/ | htmlq --pretty '#content' | more

Click para agrandar

Busquemos todos los enlaces en una página. Por ejemplo:
curl -s https://www.nixcraft.com | htmlq --attribute href a

consigue ayuda

Solo corre:
htmlq --help

htmlq 0.0.1
Michael Maclean <[email protected]>
Runs CSS selectors on HTML
 
USAGE:
    htmlq [FLAGS] [OPTIONS] <selector>...
 
FLAGS:
    -h, --help                 Prints help information
    -w, --ignore-whitespace    When printing text nodes, ignore those that consist entirely of whitespace
    -p, --pretty               Pretty-print the serialised output
    -t, --text                 Output only the contents of text nodes inside selected elements
    -V, --version              Prints version information
 
OPTIONS:
    -a, --attribute <attribute>    Only return this attribute (if present) from selected elements
    -f, --filename <FILE>          The input file. Defaults to stdin
    -o, --output <FILE>            The output file. Defaults to stdout
 
ARGS:
    <selector>...    The CSS expression to select

Resumir

El HTMLq es una buena herramienta y realmente lo disfruté. Consulta el código fuente de Github. Pruébelo y déjeme saber qué le gusta de él en la sección de comentarios a continuación.


PUBLICIDAD


Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba