Go語言通過http抓取網(wǎng)頁的方法
更新時間:2015年03月03日 11:33:55 作者:liuli
這篇文章主要介紹了Go語言通過http抓取網(wǎng)頁的方法,實例分析了Go語言通過http操作頁面的技巧,需要的朋友可以參考下
本文實例講述了Go語言通過http抓取網(wǎng)頁的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:
復(fù)制代碼 代碼如下:
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
}
//從環(huán)境變量$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語言程序設(shè)計有所幫助。
相關(guān)文章
關(guān)于Golang的Map的線程安全問題的解決方案
在?Golang?編程中,map?是一種常用的數(shù)據(jù)結(jié)構(gòu),用于存儲鍵值對,然而,Golang?的?map?在并發(fā)訪問時是線程不安全的,本文將詳細介紹?Golang?中?map?的線程不安全性,并提供一些解決方案,幫助開發(fā)者在并發(fā)編程中正確使用?map,需要的朋友可以參考下2024-11-11
Golang使用gin框架實現(xiàn)一個完整的聊天室功能
由于我們項目的需要,我就研究了一下關(guān)于websocket的相關(guān)內(nèi)容,去實現(xiàn)一個聊天室的功能,經(jīng)過幾天的探索,現(xiàn)在使用Gin框架實現(xiàn)了一個完整的聊天室+消息實時通知系統(tǒng),感興趣的小伙伴歡迎閱讀本文2023-08-08
golang jsoniter extension 處理動態(tài)字段的實現(xiàn)方法
這篇文章主要介紹了golang jsoniter extension 處理動態(tài)字段的實現(xiàn)方法,我們使用實例級別的 extension, 而非全局,可以針對不同業(yè)務(wù)邏輯有所區(qū)分,jsoniter 包提供了比較完善的定制能力,通過例子可以感受一下擴展性,需要的朋友可以參考下2023-04-04
Go?內(nèi)聯(lián)優(yōu)化讓程序員愛不釋手
這篇文章主要介紹了Go?內(nèi)聯(lián)優(yōu)化讓程序員愛不釋手,內(nèi)聯(lián)是在編譯過程中自動進行的一類基本優(yōu)化之一,文章圍繞主題展開更多詳細介紹,具有一定的參考價值,需要的小伙伴可以參考一下
2022-06-06 
