关于scrapy-splash设置代理问题,笔者之前在网上找了很久都没有找到能用的方法,尤其是使用中间件这个方法,不知道是不是笔者setting里权重设置问题,还是spalsh不能识别base64格式的问题,一直都没有成功过。
笔者这里使用的是某人云代理,用的是动态转发(调一次换一个IP),然后设置代理的方法是将代理写在写在SplashRequest的arg里。
setting里存放的proxyMeta 格式如下
代理服务器
proxyHost = “xxxxxxx.com”
proxyPort = “1234”
代理隧道验证信息
proxyUser = “48615618941531864156”
proxyPass = “dferwgtrtrehtg”
proxyMeta = “http://%(user)s:%(pass)s@%(host)s:%(port)s” % {
“host” : proxyHost,
“port” : proxyPort,
“user” : proxyUser,
“pass” : proxyPass,
}
然后spider里如下
from …settings import proxyMeta
…
…
yield SplashRequest(url=“http://httpbin.org/get”, callback=self.parse, meta = {‘splash’:{‘args’ : {‘lua_source’: splah_args, ‘proxy’: proxyMeta }}} )