Go语言通过http抓取网页的方法
发布时间:2020-12-16 19:34:03 所属栏目:大数据 来源:网络整理
导读:本篇章节讲解Go语言通过http抓取网页的方法。供大家参考研究。具体实现方法如下: 复制代码 代码如下: package main import ( "fmt" "log" "net/http" "net/url" "io/ioutil" ) //指定代理ip func getTransportFieldURL(proxy_addr *string) (transp
本篇章节讲解Go语言通过http抓取网页的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下: 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语言程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- #Leetcode# 111. Minimum Depth of Binary Tree
- Learning Perl: 4.9. The return Operator
- wireshark lua string:byte()错误
- [VB.NET]磁盘信息
- delphi – 如何在此RaiseExeption调用中删除“W1047 Unsafe
- 大数据分析,什么样的美女最受男生青睐?
- 汉化工具锦集
- 如何在Delphi中使用Google Chrome的V8 JavaScript解释器?
- groovy – 如何在Jenksin Job DSL脚本中获取种子作业的名称
- 进制数转换器的VB算法实现(2/8/10/16进制数可以相互转换)