Web scraping con htmlq
htmlq è un programma scritto in Rust per il web scraping delle pagine web.
Essendo scritto in Rust è potenzialmente multi piattaforma, anche se io l'ho testato solo su Linux.
Prima di tutto dovete installare Cargo; su Debian:
# aptitude install cargo
Dopo di che possiamo installare htmlq:
$ cargo install htmlq
Poi dovete aggiungere la directory cargo al PATH; aggiungete questa riga al vostro file .bashrc (o quello che usate):
export PATH="${PATH}:${HOME}/.cargo/bin"
Fatto tutto questo possiamo usare il programma; nell'esempio più basico estraiamo tutta la pagina:
$ curl --silent http://www.climbook.com/ | htmlq
Se invece vogliamo estrarre tutti i links:
$ curl --silent http://www.climbook.com/ | htmlq a
Se vogliamo visualizzare solo il link vero e proprio:
$ curl --silent http://www.climbook.com/ | htmlq a --attribute href -b http://www.climbook.com/
Se vogliamo visualizzare solo testo che c'è tra i caratteri di apertura e chiusura:
$ curl --silent http://www.climbook.com/ | htmlq a --text
Volendo possiamo prendere componenti HTML cercando per classi CSS:
$ curl --silent http://www.climbook.com/ | htmlq div.media-body
Per fare un test che effettivamente funzioni, provate a mettere una classe errata:
$ curl --silent http://www.climbook.com/ | htmlq div.media-body__
Enjoy!
software htmlq rust cargo html css
Commentami!