想必大家都写过模拟登录,爬取一些需要登录才能使用的资源信息。
以前都是使用Python的requests库来写爬虫,搞模拟登录,今天写写go版本的,供大家参考使用。
package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
"time"
)
func GetHtml() string {
url := "https://zhang18.top"
req, err := http.NewRequest("GET", url, nil)
if err != nil {
log.Fatal("Error reading request. ", err)
}
req.Header.Set("Cookie", "")
req.Header.Set("Host", "zhang18.top")
req.Header.Set("Referer", "https://zhang18.top")
req.Header.Set("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36")
client := &http.Client{Timeout: time.Second * 10}
resp, err := client.Do(req)
if err != nil {
log.Fatal("Error reading response. ", err)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatal("Error reading body. ", err)
}
return string(body)
}
func main() {
html:=GetHtml()
fmt.Print(html)
}