完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在如今的互联网时代,网络爬虫成了许多企业的重要岗位之一。当然在数据采集中会遇到各种问题,例如限制IP,出现访问验证码等。这种时候就需要各种反爬策略和使用HTTP代理去解决问题。在爬虫用在使用代理的时候也会遇到各种问题。 爬虫代理HTTP状态码问题解决方案:代理使用失败让对方截图看看代理代码,代理信息是否提取配置正确。重点注意必须使用代理域名,不能是代理服务器IP。 要求对方复制demo,然后加上ua随机优化,按照所开代理的请求数,按照300毫秒为单位进行管理,运行程序后统计错误信息和http的状态码。 代理链接失败原因:对方是否有防火墙,导致无法链接我们服务器;对方开的代理是否过期。 http状态码407原因:代理认证信息失败,让对方严格按照demo配置代理信息 http状态码429原因:请求超过代理限制,严格按照所开代理的请求数,按照300毫秒为单位进行管理。如果限制之后,既然大量429,需要优化爬虫策略,应该是目标网站返回的错误提示。 http状态码302原因:访问的是https网站,会自动跳转一次,正常现象;访问的http网站,网站拒绝服务,大量302需要优化爬虫策略 http状态码403 503 或504原因:少量不影响,大量403 503或504需要优化爬虫策略 http请求超时原因:http请求的超时设置为10秒,尤其是对方访问国外网站的时候。 如何正确使用爬虫代理:可以参考https://www.16yun.cn/help/ss_demo/index.html此链接复制正确的代码dmeo配置相关的代理信息即可使用 package main import ( "net/url" "net/http" "bytes" "fmt" "io/ioutil" ) // 代理服务器(产品官网 www.16yun.cn) const ProxyServer = "t.16yun.cn:31111" type ProxyAuth struct { Username string Password string } func (p ProxyAuth) ProxyClient() http.Client { var proxyURL *url.URL if p.Username != ""&& p.Password!="" { proxyURL, _ = url.Parse("http://" + p.Username + ":" + p.Password + "@" + ProxyServer) }else{ proxyURL, _ = url.Parse("http://" + ProxyServer) } return http.Client{Transport: &http.Transport{Proxy:http.ProxyURL(proxyURL)}} } func main() { targetURI := "https://httpbin.org/ip" // 初始化 proxy http client client := ProxyAuth{"username", "password"}.ProxyClient() request, _ := http.NewRequest("GET", targetURI, bytes.NewBuffer([] byte(``))) // 设置Proxy-Tunnel // rand.Seed(time.Now().UnixNano()) // tunnel := rand.Intn(10000) // request.Header.Set("Proxy-Tunnel", strconv.Itoa(tunnel) ) response, err := client.Do(request) if err != nil { panic("failed to connect: " + err.Error()) } else { bodyByte, err := ioutil.ReadAll(response.Body) if err != nil { fmt.Println("读取 Body 时出错", err) return } response.Body.Close() body := string(bodyByte) fmt.Println("Response Status:", response.Status) fmt.Println("Response Header:", response.Header) fmt.Println("Response Body:n", body) } }互联网上的网站都会有反爬机制,网络爬虫用户需要做好相关的反爬策略和使用高效稳定的爬虫代理才能更加有效率的采集相关数据。 |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
OptiSystem与OptiBPM的联合使用:MMI耦合器性能评估
693 浏览 0 评论
625 浏览 0 评论
OptiSystem与OptiSPICE的联合使用:收发机电路的眼图分析
487 浏览 0 评论
614 浏览 0 评论
上位机如何实现发送参数给单片机,单片机保存接收的参数重复运行指定的功能
1991 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 03:18 , Processed in 0.609891 second(s), Total 69, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号