本文實例講述了Go語言通過http抓取網頁的方法。分享給大家供大家參考。具體實現方法如下:
創新互聯公司是一家集策劃、設計、技術開發一體的專業網站建設公司,技術團隊10年來致力于為客戶提供企業網站定制,手機網站開發。經過多年發展,公司技術團隊,先后服務了近千家客戶,包括各類中小企業、上市公司、高校、政府。公司在過去10年的資源積累,追求并一直堅持,為客戶打造更有價值的互聯網平臺。
復制代碼 代碼如下:
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語言程序設計有所幫助。
分享名稱:Go語言通過http抓取網頁的方法
網頁網址:http://m.newbst.com/article40/jocoho.html
成都網站建設公司_創新互聯,為您提供網站制作、網站建設、云服務器、網頁設計公司、網站設計、用戶體驗
廣告
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創新互聯