提取网页内容,就需要用到相关解析库,常用的有: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)
}
})
}