有没有用过goquery的,我想用代理去爬虫,goquery支持吗?找了一下好像没找到

有没有用过goquery的,我想用代理去爬虫,goquery支持吗?找了一下好像没找到

阅读 4.3k
3 个回答

 proxy, _ := url.Parse("http://x.x.x.x:8080")

    tr := &http.Transport{
        Proxy:           http.ProxyURL(proxy),
        TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
    }

    client := &http.Client{
        Transport: tr,
        Timeout:   time.Second * 5,
    }

    resp, err := client.Get("http://www.qiushibaike.com")
    if err != nil {
        fmt.Println(err)
        return
    }

    doc, err := goquery.NewDocumentFromResponse(resp)
    if err != nil {
        fmt.Println(err)
        return
    }

你方向想错了(姿势错误),goquery 并不是要做万能的工具包

正确的姿势应当是调用 net/http 的方法,然后设置代理
再在 goqueryNewDocumentFromReader 读取 res.Body

代码形式可以参照 官方 examples
把他想成一个个组件,合在一起

新手上路,请多包涵
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题