浏览文章

文章信息

Python 适配器模式|以读取多个动态IP代理提供商为例 12841

1、文件目录

├─Proxy
  │  Manager.py
  │  __init__.py
  │
  ├─Servers
    │  Abuyun.py
    │  BotProxy.py
    │  Ipidea.py
    │  ServersInterface.py

说明:

Manager.py是需要实例化的主管理文件

Servers/下面是服务商

ServersInterface.py是接口


2、主文件内容

class Manager():
    server = None
    def __init__(self, server: str):
        """
        初始化...提供商
        :param server:
        """
        self.server = server
    def get(self):
        """
        获取代理
        :return:
        """
        server = self.__getattr__()
        return server.get_proxy_auth_plugin_path()
    def __getattr__(self):
        """
        自动加载服务模块
        :rtype: ServersInterface
        """
        module = __import__('Proxy.Servers.' + self.server, None, None, ('Proxy.Servers'))
        return getattr(module, self.server)()
#
# if (__name__ == '__main__'):
#     manager = Manager('Abuyun')
#     print(manager.get())

其他自己实现


原创