注册
登录
代理IP知识 / 内容详情
怎么在scrapy中增加代理IP功能
站大爷 官方 2022-4-22 17:42:42

应用scrapy爬虫的时候,经常遇到ip被封的问题,直接导致无法获取数据,所以要使用代理ip

怎么在scrapy中增加代理IP功能

1,在middleware.py中增加代理的类:

import base64
class ProxyMiddleware(object):
         #上句中必须是object,不能是其它(如HttpProxyMiddleware)
# 重写 request
def process_request(self, request, spider):
# 设置代理IP和端口 proxy
request.meta['proxy'] = "http://YOUR_PROXY_IP:PORT"
# 如果需要帐号和密码,需要以下的内容,没有帐号和密码就忽略如下所有内容
proxy_user_pass = "USERNAME:PASSWORD"
# setup basic authentication for the proxy
encoded_user_pass = base64.encodestring(proxy_user_pass)
request.headers['Proxy-Authorization'] = 'Basic ' + encoded_user_pass

 

2,修改setting的内容。

DOWNLOADER_MIDDLEWARES = {
'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware': 110,
'project_name.middlewares.ProxyMiddleware': 100,

}



立即注册站大爷用户,免费试用全部产品
立即注册站大爷用户,免费试用全部产品