28 de enero de 2022

Simple Web Scraper for Linux command line


 The Steps:

[1] download web text --->
[2] Select target text     --->
[3] Clean scraped text  --->
[4] Present result          --->
[5] Enjoy.


The System setup:

# aptitude install lynx

 

The Code:

    #!/bin/bash
    ##########################################
    # by www.misnotaslinux.blogspot.com 2022 #
    ##########################################

    url="https://PutWebUrlHere.html"

    from='Put here your starting text scrap from the web'

    to='Put here the End text of scraped text'

    web_scrap=`lynx -dump "$url" | sed -n /"$from"/,/"$to"/p | grep -v "$from" | grep -v "$to" | grep -v "*" | grep -v "_" | grep -v "^$"`

    echo "$web_scrap"

    exit 0


The Comments:

[1] El script descarga la web indicada en $url, en modo texto con lynx.

[2] Usando sed el script scrapea el texto de la web desde la cadena de texto $from hasta $to.

[3] Se limpia es texto scrapeado grep de las cadenas de texto $from y $to, así como de los caracteres no deseados: ("*", "_") y líneas en blanco ("^$"). 

Para identificar las cadenas de inicio y final del texto buscado hay que revisar previamente el texto generado por lynx de la web objetivo:

    $ lynx -dump "https://PutYourWebUrlHere.html"

Las cadenas de inicio y final deben ser lo más específicas posible, que no se repitan en el cuerpo del texto objetivo.

[4] Revisar el resultado y añadir | grep -v "cadena o caráctercon las cadenas o caracteres que queremos eliminar del texto resultante [5].


27 de enero de 2022

Enviar eMail con una cuenta gmail desde la linea de comandos linux con sendemail

 Instalar la aplicacion y dependencias necesarias:

$ sudo apt-get sendemail install libnet-ssleay-perl libio-socket-ssl-perl tcl-tls

 

El comando para la consola linux es:

$ sendemail -q -f "TuCuenta@gmail.com" -u "Asunto de email" -t "Destinatario@gmailUotra.com" -s "smtp.gmail.com" -o tls=yes -xu "TuCuenta@gmail.com" -xp "TuGmailPassword" -m "Texto del email"

N.B.: Tiene que estar activada la opci'on: Acceso de aplicaciones poco seguras, en la cuenta google de envio:

 

 

Update IMPORTANTE: 15/02/2023: para poder usar linux sendemail con una cuenta Google hay que configurar en la cuenta google:

1) Activar la verificación en dos pasos

2)  Crear una contraseña de aplicación.

3) Usar esta contraseña en el comando anterior.