如下,我直接用http.Get(url)进行获取信息,用浏览器可以对该URL进行访问,可是爬取时则返回403,禁止访问
resp,err := http.Get(url)
解决方案:模拟浏览器访问:
1、查看自己浏览器中的User-Agent 信息。
2、将下面代码
resp,err := http.Get(url)
defer resp.Body.Close()
替换成下面的代码
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()