# # -*- coding: utf-8 -*- # """ # ------------------------------------------------- # File Name: CheckProxy # Description : used for check getFreeProxy.py # Author : JHao # date: 2018/7/10 # ------------------------------------------------- # Change Activity: # 2018/7/10: CheckProxy # ------------------------------------------------- # """ # __author__ = 'JHao' # # from .getFreeProxy import GetFreeProxy # from util.utilFunction import verifyProxyFormat # # # from util.LogHandler import LogHandler # # log = LogHandler('check_proxy', file=False) # # # class CheckProxy(object): # # @staticmethod # def checkAllGetProxyFunc(): # """ # 检查getFreeProxy所有代理获取函数运行情况 # Returns: # None # """ # import inspect # member_list = inspect.getmembers(GetFreeProxy, predicate=inspect.isfunction) # proxy_count_dict = dict() # for func_name, func in member_list: # log.info(u"开始运行 {}".format(func_name)) # try: # proxy_list = [_ for _ in func() if verifyProxyFormat(_)] # proxy_count_dict[func_name] = len(proxy_list) # except Exception as e: # log.info(u"代理获取函数 {} 运行出错!".format(func_name)) # log.error(str(e)) # log.info(u"所有函数运行完毕 " + "***" * 5) # for func_name, func in member_list: # log.info(u"函数 {n}, 获取到代理数: {c}".format(n=func_name, c=proxy_count_dict.get(func_name, 0))) # # @staticmethod # def checkGetProxyFunc(func): # """ # 检查指定的getFreeProxy某个function运行情况 # Args: # func: getFreeProxy中某个可调用方法 # # Returns: # None # """ # func_name = getattr(func, '__name__', "None") # log.info("start running func: {}".format(func_name)) # count = 0 # for proxy in func(): # if verifyProxyFormat(proxy): # log.info("{} fetch proxy: {}".format(func_name, proxy)) # count += 1 # log.info("{n} completed, fetch proxy number: {c}".format(n=func_name, c=count)) # # # if __name__ == '__main__': # CheckProxy.checkAllGetProxyFunc() # CheckProxy.checkGetProxyFunc(GetFreeProxy.freeProxy01)