本文实例讲述了去语言通过http抓取网页的方法。分享给大家供大家参考。具体实现方法如下:
代码如下:
包主要
导入(
,“fmt”
,“日志”
,"net/http”
,"net/url”
,“io/ioutil”
)
//指定代理ip
func getTransportFieldURL (proxy_addr *字符串)(运输* http.Transport) {
url_i:=url。URL {}
,url_proxy _:=url_i.Parse (* proxy_addr)
传输=和http。运输{代理:http.ProxyURL (url_proxy)}
,返回
}
//从环境变量http_proxy美元或美元http_proxy中获取HTTP代理地址
func getTransportFromEnvironment()(运输* http.Transport) {
传输=和http。运输{代理:http。ProxyFromEnvironment}
,返回
}
函数获取(url, proxy_addr *字符串)(html字符串){
,交通:=getTransportFieldURL (proxy_addr)
客户:=和http。客户{运输:运输}
点播,犯错:=http。NewRequest(“获得”,* url, nil)
,如果犯错!=nil {
log.Fatal才能(err.Error ())
,}
犯错,职责:=client.Do(点播)
,如果犯错!=nil {
log.Fatal才能(err.Error ())
,}
如果职责。StatusCode==200 {
机器人,才能犯错:=ioutil.ReadAll (resp.Body);
resp.Body.Close才能()
如果犯错!才能=nil {
,,log.Fatal (err.Error ())
,,}
html=才能字符串(机器人);
,其他}{
html才能=" "
,}
,返回
}
函数main () {
,proxy_addr:=" http://183.221.250.137:80 "
,url:=" http://www.baidu.com/s& # 63; wd=ip”
,html:=获取(和url, proxy_addr)
,fmt.Println (html)
}
希望本文所述对大家的去语言程序设计有所帮助。