ProxyValidSchedule.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. # -*- coding: utf-8 -*-
  2. """
  3. -------------------------------------------------
  4. File Name: ProxyValidSchedule.py
  5. Description : 代理验证
  6. Author : JHao
  7. date: 2017/3/31
  8. -------------------------------------------------
  9. Change Activity:
  10. 2017/3/31: 验证useful_proxy_queue中的代理
  11. -------------------------------------------------
  12. """
  13. __author__ = 'JHao'
  14. import sys
  15. sys.path.append('../')
  16. from Util.utilFunction import validUsefulProxy
  17. from Manager.ProxyManager import ProxyManager
  18. from Util.LogHandler import LogHandler
  19. class ProxyValidSchedule(ProxyManager):
  20. def __init__(self):
  21. ProxyManager.__init__(self)
  22. self.log = LogHandler('valid_schedule')
  23. def __validProxy__(self):
  24. """
  25. 验证代理
  26. :return:
  27. """
  28. while True:
  29. self.db.changeTable(self.useful_proxy_queue)
  30. for each_proxy in self.db.getAll():
  31. if isinstance(each_proxy,bytes):
  32. each_proxy = each_proxy.decode('utf-8')
  33. self.log.info(u'数据库返回数据类型为bytes')
  34. if validUsefulProxy(each_proxy):
  35. self.log.debug('proxy: {} validation pass'.format(each_proxy))
  36. else:
  37. self.db.delete(each_proxy)
  38. self.log.info('proxy: {} validation fail'.format(each_proxy))
  39. self.log.info(u'代理验证程序运行正常')
  40. def main(self):
  41. self.__validProxy__()
  42. def run():
  43. p = ProxyValidSchedule()
  44. p.main()
  45. if __name__ == '__main__':
  46. p = ProxyValidSchedule()
  47. p.main()