采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
“http://album.zhenai.com/u/1426975040”
老师你好,在获取用户信息的时候,网页返回的是
被禁止了,没法测试了,这个怎么办呢
Request 添加 header,header 中要有 User-Agent 字段。
具体做法如下:
把 Fetcher 的下面这一行:
resp, err := http.Get(url)
改成:
req, err := http.NewRequest("GET", url, nil)if err != nil { return nil, err}req.Header.Add("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/71.0.3578.87 Safari/537.21")client := http.Client{ CheckRedirect: func(req *http.Request, via []*http.Request) error { fmt.Println("Redirect:", req) return nil },}resp, err := client.Do(req)
可以参考 net/http/client.go 关于 Get 函数的说明:
// ...// To make a request with custom headers, use NewRequest and// DefaultClient.Do.func Get(url string) (resp *Response, err error) { return DefaultClient.Get(url)
// ...
// To make a request with custom headers, use NewRequest and// DefaultClient.Do.func Get(url string) (resp *Response, err error) { return DefaultClient.Get(url)
非常感谢!
非常感谢,我也遇到了这个问题
成功了,感谢
修改header如果还拿不到,建议可以从 https://www.zhenai.com/zhenghun/shanghai 城市页面拉取,不用再访问用户详情页;城市页面有用户信息,改动下代码
更改useragent还是会报错202。应该是反扒机制的问题。试试用代理。
登录后可查看更多问答,登录/注册
语法+分布式爬虫实战 为转型工程师量身打造
3.7k 14
687 1
2.0k 1
1.1k 12