使用goquery库来编写一个爬虫程序,以下是代码:
package main import ( "fmt" "net/http" "log" "time" "github.com/PuerkitoBio/goquery" ) func main() { // 设置服务器 dialer := &net.Dialer{ Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, } proxy := dialer.Dial("tcp", fmt.Sprintf("%s:%d", "", )) client := &http.Client{ Dialer: dialer, Transport: &http.Transport{ Proxy: http.ProxyURL(proxy), }, } // 发起GET请求 resp, err := client.Get("") if err != nil { log.Fatal(err) } defer resp.Body.Close() // 解析响应内容 doc, err := goquery.NewDocumentFromReader(resp.Body) if err != nil { log.Fatal(err) } // 查找并提取所需内容 links := doc.Find(".link").EachWithBreak(func(i int, s *goquery.Selection) bool { link, _ := s.Attr("href") if link != "" { fmt.Println(link) return false } return true }) }
这段代码首先设置了服务器,然后使用服务器发起GET请求,然后解析响应内容,查找并提取所需内容。最后输出提取到的内容。