源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Go语言通过http抓取网页的方法

  • 时间:2020-01-16 08:55 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Go语言通过http抓取网页的方法
本文实例讲述了Go语言通过http抓取网页的方法。分享给大家供大家参考。具体实现方法如下:
[u]复制代码[/u] 代码如下:
package main import (  "fmt"  "log"  "net/http"  "net/url"  "io/ioutil" ) //指定代理ip func getTransportFieldURL(proxy_addr *string) (transport *http.Transport) {  url_i := url.URL{}  url_proxy, _ := url_i.Parse(*proxy_addr)  transport = &http.Transport{Proxy : http.ProxyURL(url_proxy)}  return } //从环境变量$http_proxy或$HTTP_PROXY中获取HTTP代理地址 func getTransportFromEnvironment() (transport *http.Transport) {  transport = &http.Transport{Proxy : http.ProxyFromEnvironment}  return } func fetch(url , proxy_addr *string) (html string) {  transport := getTransportFieldURL(proxy_addr)  client := &http.Client{Transport : transport}  req, err := http.NewRequest("GET", *url, nil)  if err != nil {   log.Fatal(err.Error())  }  resp, err := client.Do(req)  if err != nil {   log.Fatal(err.Error())  }  if resp.StatusCode == 200 {   robots, err := ioutil.ReadAll(resp.Body);   resp.Body.Close()   if err != nil {    log.Fatal(err.Error())   }   html = string(robots);  } else {   html = ""  }  return } func main() {  proxy_addr := "http://183.221.250.137:80/"  url := "http://www.baidu.com/s?wd=ip"  html := fetch(&url, &proxy_addr)  fmt.Println(html) }
希望本文所述对大家的Go语言程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部