UsefulProxyCheck.py 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. # # -*- coding: utf-8 -*-
  2. # """
  3. # -------------------------------------------------
  4. # File Name: UsefulProxyCheck
  5. # Description : check useful proxy
  6. # Author : JHao
  7. # date: 2019/8/7
  8. # -------------------------------------------------
  9. # Change Activity:
  10. # 2019/8/7: check useful proxy
  11. # -------------------------------------------------
  12. # """
  13. # __author__ = 'JHao'
  14. #
  15. # from threading import Thread
  16. #
  17. # try:
  18. # from Queue import Queue, Empty # py2
  19. # except:
  20. # from queue import Queue, Empty # py3
  21. #
  22. # from util import LogHandler
  23. # from handler import ProxyManager
  24. # from helper import checkProxyUseful, Proxy
  25. #
  26. # FAIL_COUNT = 0
  27. #
  28. #
  29. # class UsefulProxyCheck(ProxyManager, Thread):
  30. # def __init__(self, queue, thread_name):
  31. # ProxyManager.__init__(self)
  32. # Thread.__init__(self, name=thread_name)
  33. #
  34. # self.queue = queue
  35. # self.log = LogHandler('useful_proxy_check')
  36. #
  37. # def run(self):
  38. # self.log.info("UsefulProxyCheck - {} : start".format(self.name))
  39. # self.db.changeTable(self.useful_proxy_queue)
  40. # while True:
  41. # try:
  42. # proxy_str = self.queue.get(block=False)
  43. # except Empty:
  44. # self.log.info("UsefulProxyCheck - {} : exit".format(self.name))
  45. # break
  46. #
  47. # proxy_obj = Proxy.newProxyFromJson(proxy_str)
  48. # proxy_obj, status = checkProxyUseful(proxy_obj)
  49. # if status or proxy_obj.fail_count < FAIL_COUNT:
  50. # self.db.put(proxy_obj)
  51. # self.log.info('UsefulProxyCheck - {} : {} validation pass'.format(self.name,
  52. # proxy_obj.proxy.ljust(20)))
  53. # else:
  54. # self.log.info('UsefulProxyCheck - {} : {} validation fail'.format(self.name,
  55. # proxy_obj.proxy.ljust(20)))
  56. # self.db.delete(proxy_obj.proxy)
  57. # self.queue.task_done()
  58. #
  59. #
  60. # def doUsefulProxyCheck():
  61. # proxy_queue = Queue()
  62. #
  63. # pm = ProxyManager()
  64. # pm.db.changeTable(pm.useful_proxy_queue)
  65. # for _proxy in pm.db.getAll():
  66. # proxy_queue.put(_proxy)
  67. #
  68. # thread_list = list()
  69. # for index in range(10):
  70. # thread_list.append(UsefulProxyCheck(proxy_queue, "thread_%s" % index))
  71. #
  72. # for thread in thread_list:
  73. # thread.start()
  74. #
  75. # for thread in thread_list:
  76. # thread.join()
  77. #
  78. #
  79. # if __name__ == '__main__':
  80. # doUsefulProxyCheck()