package main import ( "log" "time" "github.com/PuerkitoBio/goquery" "github.com/briandowns/spinner" ) const ( host = "http://studygolang.com" topic = "http://studygolang.com/topics" ) func main() { // build and start new spinner s := spinner.New(spinner.CharSets[35], 100 * time.Millisecond) s.Start() doc, err := goquery.NewDocument(topic) if err != nil { log.Fatal(err) } doc.Find(".topics .topic").Each(func (i int, cntSelection *goquery.Selection) { item := cntSelection.Find(".title a") title := item.Text() link, _ := item.Attr("href") link = host + link log.Println("[", i+1, "]", title, link) }) s.Stop() }