Web scraping in Go con Colly
Colly è una libreria per Go che ci permette di eseguire il web scarping delle pagine web.
In questo articolo vediamo un paio di esempi.
Ma cominciamo con l'installazione:
go get github.com/gocolly/colly
Questo un primo esempio:
package main
import (
"fmt"
"github.com/gocolly/colly"
)
func main() {
url := "https://www.mattepuffo.com/blog/"
c := colly.NewCollector()
c.OnHTML(".post h1", func(e *colly.HTMLElement) {
post := e.Text
fmt.Println(post)
})
c.Visit(url)
}
Qui andiamo a ricercare tutti i tag h1 che si trovano dentro i tag con classe .post.
Altro esempio:
package main
import (
"fmt"
"github.com/gocolly/colly"
)
func main() {
url := "https://www.mattepuffo.com/blog/"
c := colly.NewCollector()
c.OnHTML(".post a[href]", func(e *colly.HTMLElement) {
link := e.Attr("href")
fmt.Printf("Link found: %q -> %sn", e.Text, link)
c.Visit(e.Request.AbsoluteURL(link))
})
c.OnRequest(func(r *colly.Request) {
fmt.Println("Visiting", r.URL.String())
})
c.Visit(url)
}
Sempre dentro .post ricerchiamo tutti i link e facciamo una richiesta HTTP.
Enjoy!
go colly web scraping
Commentami!