坦桑尼亚奥杜威峡谷能人
2018-10-08 08:57scrapy设置代理 IP 无法爬去
5middewares里:
class ProxyMiddleWare(object):
def process_request(self, request, spider):
proxy = random.choice(PROXIES)
if proxy['user_passwd'] is None:
# if 'user_passwd' not in proxy:
# 没有代理账户验证的代理使用方式
print('---------------------->>> ', proxy['ip_port'])
request.meta['proxy'] = "http://" + proxy['ip_port']
# request.meta['proxy'] = 'http://122.235.168.162:8118'
else:
# 对账户密码进行base64编码转换
base64_userpasswd = base64.b64encode(proxy['user_passwd'].encode())
# 对应到代理服务器的信令格式里
request.headers['Proxy-Authorization'] = 'Basic ' + base64_userpasswd.decode()
request.meta['proxy'] = "http://" + proxy['ip_port']
setting里:
PROXIES = [
# {'ip_port': '61.175.192.2:35420'},
# {'ip_port': '221.234.192.10:8010'},
{'ip_port': '221.224.49.194:51127', 'user_passwd': ''},
# {"ip_port": "121.41.8.23:16816", "user_passwd": "morganna_mode_g:ggc22qxp"},
# {'ip_port': '122.224.249.122:8088', 'user_passwd': 'user4:pass4'},
]
DOWNLOADER_MIDDLEWARES = {
'taobao.middlewares.TaobaoDownloaderMiddleware': 543,
'taobao.middlewares.SeleniumMiddleware': 543,
'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware': 751,
'taobao.middlewares.ProxyMiddleWare': 750,
'taobao.middlewares.RandomUserAgent': 400,
}
我是这么设置的,而且这个IP用request测试过,返回状态码也是200,但在scrapy里不能正常抓取数据,请教各位大神指点下
- 点赞
- 回答
- 收藏
- 复制链接分享
5条回答
为你推荐
- scrapy + selenium抓取到的网易云页面不完整
- python
- 开发语言
- 1个回答
- 关于Scrapy 框架运行不出结果的问题,好像没有报错
- python
- 正则表达式
- 1个回答
- scrapy框架+formdata+ajax爬取及翻页问题
- python
- 数据挖掘
- 测试用例
- 1个回答
- scrapy框架问题报错?
- python
- 1个回答
- scrapy crawl 设置多条rule的时候,在第一条rule提取到的链接指向的页面中,会执行第二条rule提取规则吗?
- python
- 2个回答
换一换