- Learn
- Guida Ruby e il Web
- Hpricot
Hpricot
In questo capitolo illustreremo brevemente delle librerie per la gestione e la generazione di codice HTML e di sessioni WWW. In questa lezione facciamo la conoscenza di Hpricot, nelle prossime incontreremo BlueCloth, Markaby e Mechanize.
Hpricot è un parser HTML semplice e veloce. Permette inoltre di fare ricerche basandosi sugli ID degli elementi, sui selettori CSS, sui tag e in generale tutto quello che identifica una parte di una pagina HTML.
È possibile importare i dati da analizzare sia da file
doc = open("index.html") { |f| Hpricot(f) }
sia da internet utilizzando ad esempio “open-uri”
require 'open-uri' doc = open("http://qwantz.com/") { |f| Hpricot(f) }
o ancora passandoli direttamente sotto forma di stringa
doc = Hpricot("<html><body><p>Una semplice pagina HTML.</p></body></html>")
Una volta importato il codice HTML possiamo estrarre tutti i tipi di informazioni usando adeguatamente i metodi “search” e “parse”; informazioni che possiamo manipolare a piacimento. Vediamo un esempio che ci permette di estrarre il testo in grassetto da del codice HTML
require 'rubygems' require 'hpricot' html=<<FIN <html><body> <p>Paragrafo di prova.</p> <b>Testo in grassetto</b> e <i>testo in corsivo</i>. </body></html> FIN doc = Hpricot(html) doc.search(:b).each do |bold| puts bold.inner_html end
Dopo aver importato le giuste librerie e passato a Hpricot il testo HTML da analizzare, per comodità l’abbiamo passato sotto forma di stringa ma la sostanza non cambia, ricerchiamo tutte le occorrenze del tag <b>
e ne stampiamo a video il contenuto usando inner_html
che restituisce il contenuto dell’elemento selezionato.
Se vuoi aggiornamenti su Hpricot inserisci la tua email nel box qui sotto:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
La tua iscrizione è andata a buon fine. Se vuoi ricevere informazioni personalizzate compila anche i seguenti campi opzionali:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
I Video di HTML.it
Realizzare tutto ciò che è iniziato! #dilloalfuturo
Per il futuro mi aspetto da Microsoft che finisca di produrre tutto quello che ha avviato