【原创python开发淘宝优惠券搜索引擎】http://www.tbquan.cn(谢谢支持!)【原创python开发淘宝优惠券搜索引擎】http://www.tbquan.cn大数据项目实战系列博文开启,记得关注微信公众号哦~觉得不错,记得收藏!>>
站长原创网站:淘宝优惠券 | (已上线,谢谢支持) | 百度云搜索-淘宝圈 | 雷乾坤编程学习导航(待完善) | 攻城狮VIP影院(搜看各种vip) | 攻城狮VIP解析站(搜看各种vip) | it快速自学搜索

scrapy怎么设置带有密码的代理ip base64.encodestring不能用 python3.5,base64库里面的encodestring()被换成了什么?

自己写爬虫时买的代理ip有密码,在网上查了都是下面这种:

1、在Scrapy工程下新建"middlewares.py":

 

import base64

# Start your middleware class

class ProxyMiddleware(object):

    # overwrite process request

    def process_request(self, request, spider):

        # Set the location of the proxy

        request.meta['proxy'] = "http://YOUR_PROXY_IP:PORT"

  

        # Use the following lines if your proxy requires authentication

        proxy_user_pass = "USERNAME:PASSWORD"

        # setup basic authentication for the proxy

        encoded_user_pass = base64.encodestring(proxy_user_pass)  #我用的python3.5,这个地方报错 TypeError: expected bytes-like object, not str

        request.headers['Proxy-Authorization'] = 'Basic ' + encoded_user_pass

 

2、在项目配置文件里setting.py添加:

 

DOWNLOADER_MIDDLEWARES = {

    ...   #此处省略其他中间件配置

    'ScrapyRedisTest.middlewares.ProxyMiddleware': 100,

}

 

================================解决方法如下:(只改动标红的两行,其他的都不变)================================================

import base64

# Start your middleware class

class ProxyMiddleware(object):

    # overwrite process request

    def process_request(self, request, spider):

        # Set the location of the proxy

        request.meta['proxy'] = "http://YOUR_PROXY_IP:PORT"

        # Use the following lines if your proxy requires authentication

        proxy_user_pass = "USERNAME:PASSWORD"

        # setup basic authentication for the proxy

        encoded_user_pass = base64.b64encode(proxy_user_pass.encode('utf-8')) 

      request.headers['Proxy-Authorization'] = 'Basic ' + str(encoded_user_pass, encoding="utf-8")

 

2、在项目配置文件里setting.py添加:

 

DOWNLOADER_MIDDLEWARES = {

    ...   #此处省略其他中间件配置

    'ScrapyRedisTest.middlewares.ProxyMiddleware': 100,

}


更多

名字:

个人主页地址:

E-mail:

内容:

评论列表