大数据时代,网络爬虫的工作和代理IP是息息相关的。尤其是互联网行业,网络爬虫工作是项目必须使用到代理ip,没有代理ip,爬虫工作将会非常的艰难。那如果网络爬虫用户使用了亿牛云隧道转发的爬虫代理加强版,报错状态码如何解决呢?
隧道转发爬虫代理加强版:
(1) 代理使用失败
让对方截图看看代理代码,代理信息是否提取配置正确。重点注意必须使用代理域名,不能是代理服务器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秒,尤其是对方访问国外网站的时候。
(2) 没法确认代理是否使用
要求对方直接复制demo,访问http://current.ip.16yun.cn:802,看看返回的IP,如果是我们的代理IP,就表示代理链接成功
(3) 爬虫代理使用成功,请求失败率较高
统计错误信息和http的状态码,将200和各自错误信息进行统计,看看比例分布,参考第(1)项里面的http状态码进行解答。
隧道转发爬虫代理加强版使用demo:
# 要访问的目标页面
targetUrl = "http://httpbin.org/ip"
# 要访问的目标HTTPS页面
# targetUrl = "https://httpbin.org/ip"
# 代理服务器(产品官网 www.16yun.cn)
proxyHost = "t.16yun.cn"
proxyPort = "31111"
# 代理验证信息
proxyUser = "username"
proxyPass = "password"
proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
"host" : proxyHost,
"port" : proxyPort,
"user" : proxyUser,
"pass" : proxyPass,
}
# 设置 http和https访问都是用HTTP代理
proxies = {
"http" : proxyMeta,
"https" : proxyMeta,
}