提取網頁內容,就需要用到相關解析庫,常用的有:goquery庫。
寫一個簡單的例子,展示下如何使用 goquery 來獲取網頁標題title和網頁中的超鏈接:
package main
import (
"log"
"net/http"
"github.com/PuerkitoBio/goquery"
)
func main() {
response, err := http.Get("xxxxxx.com")
if err != nil {
log.Fatal(err)
}
defer response.Body.Close()
doc, err := goquery.NewDocumentFromReader(response.Body)
if err != nil {
log.Fatal(err)
}
doc.Find("title").Each(func(i int, s *goquery.Selection) {
log.Println(s.Text())
})
doc.Find("a").Each(func(i int, s *goquery.Selection) {
href, exists := s.Attr("href")
if exists {
log.Println(href)
}
})
}