定义代理IP的数据模型类

from settings import MAX_SCORE

#引入log模块,打印log
# import  logging
# from utils.log import logger

'''
目标: 定义代理IP的数据模型类
步骤:
1.定义Proxy类,继承object
2.实现__init__方法,负责初始化,包含如下字段:
  ip: 代理ip的地址
  port:代理ip的端口
  protocol:代理IP支持的协议类型,http是0,https是1,https和http都支持2
  nick_type: 代理ip的匿名程度,高匿:0, 匿名:1,透明:2
  speed:代理IP的响应速度,单位s
  area:代理IP所在的地区
  score: 代理IP的评分,用于衡量代理的可用性,默认分值可以通过配置文件进行配置,在进行代理可用性检测的时候
         每遇到一次请求失败就减一,减到0的时候从池中删除,如果检查代理可用,就恢复默认分值
  disable_domains:不可用域名列表,有些代理ip在某些域名下不可用,但是再其它域名下可用
  在配置文件:settings.py中定义MAX_SCORE = 50, 表示代理ip的默认最高分数
3. 提供__str__方法, 返回数据字符串
'''

class Proxy(object):
    def __init__(self, ip, port, protocol=-1, nick_type=-1, speed=-1, area=None, score=MAX_SCORE, disable_domains=[]):
        # ip: 代理ip的地址
        self.ip = ip
        # port:代理ip的端口
        self.port = port
        # protocol:代理IP支持的协议类型, http是0,https是1,https和http都支持2
        self.protocol = protocol
        # nick_type: 代理ip的匿名程度, 高匿:0, 匿名:1, 透明:2
        self.nick_type = nick_type
        # speed:代理IP的响应速度, 单位s
        self.speed = speed
        # area:代理IP所在的地区
        self.area = area
        # score: 代理IP的评分, 用于衡量代理的可用性, 默认分值可以通过配置文件进行配置, 在进行代理可用性检测的时候
        # 每遇到一次请求失败就减一, 减到0的时候从池中删除, 如果检查代理可用, 就恢复默认分值
        self.score = score
        # disable_domains:不可用域名列表, 有些代理ip在某些域名下不可用,但是再其它域名下可用
        self.disable_domains = disable_domains

    # 3.提供__str__方法, 返回数据字符串
    def __str__(self):
        #返回数据字符串
        return   str(self.__dict__)

# logger = Logger().logger
# if __name__ == '__main__':
#     #定义logger类,然后调用logger方法
#     # logger.debug("调试信息##")
#    pass
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值