以下,我直接用http.Get(url)进行获取信息,用浏览器能够对该URL进行访问,但是爬取时则返回403,禁止访问html
resp,err := http.Get(url)
解决方案:模拟浏览器访问:浏览器
一、查看本身浏览器中的User-Agent 信息。url
二、将下面代码spa
resp,err := http.Get(url) defer resp.Body.Close()
替换成下面的代码3d
client := &http.Client{} req, err := http.NewRequest("GET", url, nil) if err != nil { log.Fatalln(err) } req.Header.Set("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36") resp, err := client.Do(req) if err != nil { log.Fatalln(err) } defer resp.Body.Close()