Recuperación de páginas web con WGET, CURL y LYNX

Recuperación de páginas web con WGET, CURL y LYNX

Ya sea que sea un profesional de TI que necesita descargar 2000 informes de errores en línea en un archivo de texto plano y analizarlos para ver cuáles necesitan atención, o una madre que quiere descargar 20 recetas de un sitio web de dominio público, puede beneficiarse de conocer el Herramientas que lo ayudan a descargar páginas web en un archivo basado en texto. Si está interesado en aprender más sobre cómo analizar las páginas que descarga, puede echar un vistazo a nuestra manipulación de Big Data para obtener diversión y ganancias Parte 1 Artículo.

En este tutorial aprenderás:

  • Cómo recuperar/descargar páginas web con WGET, CURL y LYNX
  • Cuáles son las principales diferencias entre las herramientas WGet, Curl y Lynx
  • Ejemplos que muestran cómo usar wget, curl y lynx
Recuperación de páginas web con WGET, CURL y LYNX

Requisitos y convenciones de software utilizados

Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Independiente de la distribución de Linux
Software Línea de comando bash, sistema basado en Linux
Otro Cualquier utilidad que no esté incluida en el shell bash de forma predeterminada se puede instalar utilizando sudo apt-get instalación de utilidad de utilidad (o yum instalación para sistemas basados ​​en redhat)
Convenciones # - requiere que los comandos de Linux se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
$-Requiere que los comandos de Linux se ejecuten como un usuario regular no privilegiado

Antes de comenzar, instale las 3 utilidades utilizando el siguiente comando (en Ubuntu o Mint), o use yum instalación en lugar de instalación de apt Si está utilizando una distribución de Linux basada en Redhat.

$ sudo apt-get install wget curl lynx 


Una vez hecho, comencemos!

Ejemplo 1: wget

Usando wget Recuperar una página es fácil y directo:

$ wget https: // linuxconfig.org/Linux-Complex-Bash-One-Liner-Examples --2020-10-03 15: 30: 12-- https: // LinuxConfig.org/Linux-Complex-Bash-one-Liner-Examples Resolviendo LinuxConfig.org (linuxconfig.org)… 2606: 4700: 20 :: 681a: 20d, 2606: 4700: 20 :: 681a: 30d, 2606: 4700: 20 :: ac43: 4b67, ...org (linuxconfig.org) | 2606: 4700: 20 :: 681a: 20d |: 443 ... conectado. Solicitud http enviada, en espera de respuesta ... 200 OK Longitud: no especificado [texto/html] Guardar a: 'Linux-Complex-Bash-One-Liner-Examples' Linux-Complex-Bash-one-Liner-Examples [] 51.98k --.-Kb/s en 0.005s 2020-10-03 15:30:12 (9.90 MB/s)-'Linux-Complex-Bash-One-Liner-Ejemplos' guardado [53229] $ 

Aquí descargamos un artículo de LinuxConfig.organizar en un archivo, que por defecto se denomina igual que el nombre en la URL.

Vamos a ver el contenido del archivo

$ File Linux-Complex-Bash-One-Liner-Examples Linux-Complex-Bash-One-Liner-Ejemplos: Documento HTML, texto ASCII, con líneas muy largas, con CRLF, CR, terminadores de línea LF $ Head -N5 Linux- complejes-bash-one-liner-pruebas      

Excelente, archivo (la utilidad de clasificación de archivo) reconoce el archivo descargado como HTML y el cabeza confirma que las primeras 5 líneas (-N5) parecen código HTML y están basados ​​en texto.

Ejemplo 2: curl

$ curl https: // linuxconfig.org/Linux-Complex-Bash-One-Liner-Examples> Linux-Complex-Bash-One-Liner-Examples % Total % recibido % Xferd Tiempo de velocidad promedio Tiempo Tiempo Corriente de carga Total Gasto Velocidad Izquierda 100 53045 0 53045 0 0 84601 0-:-:--:-:--:-:-84466 $ 

Esta vez usamos rizo hacer lo mismo que en nuestro primer ejemplo. Por defecto, rizo saldrá a Standard Out (stdout) y muestre la página HTML en su terminal! Por lo tanto, en su lugar redirigimos (usando >) al archivo Linux-Complex-Bash-One-Liner-Examples.

Nuevamente confirmamos el contenido:

$ File Linux-Complex-Bash-One-Liner-Examples Linux-Complex-Bash-One-Liner-Ejemplos: Documento HTML, texto ASCII, con líneas muy largas, con CRLF, CR, terminadores de línea LF $ Head -N5 Linux- complejes-bash-one-liner-pruebas      


Genial, el mismo resultado!

Un desafío, cuando queremos procesar este/estos archivos, es que el formato se basa en HTML. Podríamos analizar la salida usando sed o asombrar y alguna expresión regular semi-compleja, para reducir la salida al texto solo, pero hacerlo es algo complejo y, a menudo, no es suficiente a prueba de error. En su lugar, usemos una herramienta que estaba habilitada de forma nativa/programada para arrojar páginas en formato de texto.

Ejemplo 3: Lynx

Lynx es otra herramienta que podemos usar para recuperar la misma página. Sin embargo, a diferencia de wget y rizo, lince está destinado a ser un navegador completo (basado en texto). Por lo tanto, si salimos de lince, La salida será texto, y no HTML, basada en. Podemos usar el lynx -dump Comando para generar la página web que se accede, en lugar de iniciar un navegador totalmente interactivo (basado en pruebas) en su cliente de Linux.

$ lynx -dump https: // linuxconfig.org/Linux-Complex-Bash-One-Liner-Examples> Linux-Complex-Bash-One-Liner-Examples $ 

Examinemos el contenido del archivo creado una vez más:

$ File Linux-Complex-Bash-One-Liner-Examples Linux-Complex-Bash-One-Liner-Examples: UTF-8 UNICODE TEXT $ Head -N5 Linux-Complex-Bash-One-Liner-Ejemplos * [1] Ubuntu + o [2] Atrás o [3] Ubuntu 20.04 o [4] Ubuntu 18.04 

Como puede ver, esta vez tenemos un UTF-8 Unicode archivo basado en texto, a diferencia del anterior wget y rizo ejemplos y el cabeza El comando confirma que las primeras 5 líneas están basadas en texto (con referencias a las URL en forma de [NR] marcadores). Podemos ver las URL hacia el final del archivo:

$ Tail -N86 Linux-Complex-Bash-One-Liner-Examples | cabeza -n3 enlaces visibles 1. https: // linuxconfig.org/Ubuntu 2. https: // linuxconfig.org/Linux-Complex-Bash-One-Liner-Examples 

La recuperación de páginas de esta manera nos proporciona un gran beneficio de tener archivos basados ​​en texto sin HTML que podemos usar para procesar más si es necesario si es necesario.

Conclusión

En este artículo, tuvimos una breve introducción al wget, rizo y lince Herramientas, y descubrimos cómo estos últimos se pueden usar para recuperar páginas web en un formato textual que suelta todo el contenido HTML.

Por favor, use siempre el conocimiento adquirido aquí de manera responsable: no sobrecargue los servidores web, y solo recupere el dominio público, sin copyright o CC-0, etc. data/páginas. También siempre asegúrese de verificar si hay una base de datos/conjunto de datos descargable de los datos que le interesan, lo que se prefiere mucho para recuperar individualmente las páginas web.

Disfrute de su nuevo conocimiento encontrado y, mamá, esperando ese pastel para el que descargó la receta usando Lynx -Dump! Si se sumerge en cualquiera de las herramientas, déjenos un comentario con sus descubrimientos.

Tutoriales de Linux relacionados:

  • Manipulación de Big Data para la diversión y las ganancias Parte 1
  • Manipulación de Big Data para diversión y ganancias Parte 3
  • Manipulación de Big Data para diversión y ganancias Parte 2
  • Cosas para instalar en Ubuntu 20.04
  • Descarga del archivo WGet en Linux
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Descarga de archivos de curl en Linux
  • Cosas para instalar en Ubuntu 22.04
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?