爬虫代理504状态码解决方案

回复
laical
崭露头角
崭露头角
帖子: 20
注册时间: 2020年03月26日 17:45
联系:

爬虫代理504状态码解决方案

帖子 laical »

HTTP状态码504一般是使用了代理服务器和代理IP造成的,或者是请求不到数据返回的。(俗称封代理ip)
解决方案:
对于使用爬虫代理出现504之类的状态码,少量504是正常现象,如果是大量的504,建议爬虫用户需要优化一下爬虫策略,降低一下访问频率,优化一下UA和COOKIE,和分析网站的反爬机制做相关具体优化。相关优化做完之后更换高质量亿牛云爬虫代理可测试效果。
COOKIE优化:
COOKIE最好是登陆获取的。使用cookie登陆,服务器会认为你是一个已登陆的用户,所以就会返回给你一个已登陆的内容。因此,需要验证码的情况可以使用带验证码登陆的cookie解决。
UA优化:
User-Agent可以用亿牛云提供给的真实库。
使用爬虫代理:
使用代理后控制访问频率,避免网站限制IP。
#! -*- encoding:utf-8 -*-
from urllib import request
# 要访问的目标页面
targetUrl = "http://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,
}
proxy_handler = request.ProxyHandler({
"http" : proxyMeta,
"https" : proxyMeta,
})
opener = request.build_opener(proxy_handler)
request.install_opener(opener)
resp = request.urlopen(targetUrl).read()
print (resp)
任何爬虫采集数据都需要做爬虫的优化。每个网站都会反爬机制,使用亿牛云爬虫代理虽然很重要,但是爬虫的相关优化也固然重要,相互配合才能达到最稳定的采集效果。
回复

在线用户

正浏览此版面之用户: 没有注册用户 和 1 访客