proxyHelper.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. # -*- coding: utf-8 -*-
  2. """
  3. -------------------------------------------------
  4. File Name: proxyHelper
  5. Description :
  6. Author : JHao
  7. date: 2020/6/24
  8. -------------------------------------------------
  9. Change Activity:
  10. 2020/6/24:
  11. -------------------------------------------------
  12. """
  13. __author__ = 'JHao'
  14. from util.validators import validators
  15. from datetime import datetime
  16. def proxyCheck(proxy_obj):
  17. """
  18. 检测代理是否可用
  19. :param proxy_obj: Proxy object
  20. :return: Proxy object, status
  21. """
  22. def __proxyCheck(proxy):
  23. for func in validators:
  24. if not func(proxy):
  25. return False
  26. return True
  27. if __proxyCheck(proxy_obj.proxy):
  28. # 检测通过 更新proxy属性
  29. proxy_obj.check_count += 1
  30. proxy_obj.last_status = 1
  31. proxy_obj.last_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
  32. if proxy_obj.fail_count > 0:
  33. proxy_obj.fail_count -= 1
  34. return proxy_obj
  35. else:
  36. proxy_obj.check_count += 1
  37. proxy_obj.last_status = 0
  38. proxy_obj.last_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
  39. proxy_obj.fail_count += 1
  40. return proxy_obj