| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- # -*- 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)
|