AtomicBear011

proxy scrape

Nov 6th, 2020
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.68 KB | None | 0 0
  1. import requests
  2. import socket
  3. from sys import argv,exit
  4. from threading import Thread
  5. import urllib3
  6. urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
  7.  
  8. #Colors
  9. yellow = "\033[1;40;33m"
  10. green = "\033[1;40;32m"
  11. red = "\033[1;40;31m"
  12. reset = "\033[0m"
  13. bold = "\033[0;40;1m"
  14.  
  15. def info(string):
  16. string = f'{reset}[{yellow}*{reset}] {string}{reset}'
  17. print(string)
  18.  
  19. def fail(string):
  20. string = f'{reset}[{red}-{reset}] {string}{reset}'
  21. print(string)
  22.  
  23. def succ(string):
  24. string = f'{reset}[{green}+{reset}] {bold}{string}{reset}'
  25. print(string)
  26.  
  27.  
  28. if len(argv) < 4:
  29. exit(f"python3 {argv[0]} <TIMEOUT> <TYPE(HTTP, SOCKS4, SOCKS5)> <OUTPUT>")
  30.  
  31. timeout = int(argv[1])
  32. proxytype = str(argv[2])
  33. output = open(argv[3], 'w')
  34.  
  35. unchecked = []
  36.  
  37. def downloadproxies(url):
  38. r = requests.get(url, verify=False)
  39. proxies = r.text
  40. for proxy in proxies.split("\n"):
  41. proxy = proxy.rstrip().lstrip()
  42. unchecked.append(proxy)
  43.  
  44. if proxytype.upper() == "HTTP":
  45. downloadproxies("https://api.proxyscrape.com/?request=getproxies&proxytype=http&timeout=10000&country=all&ssl=all&anonymity=all")
  46. elif proxytype.upper() == "SOCKS4":
  47. downloadproxies("https://api.proxyscrape.com/?request=getproxies&proxytype=socks4&timeout=10000&country=all")
  48. elif proxytype.upper() == "SOCKS5":
  49. downloadproxies("https://api.proxyscrape.com/?request=getproxies&proxytype=socks5&timeout=10000&country=all")
  50. else:
  51. exit("Please choose HTTP, SOCKS4, or SOCKS5")
  52.  
  53. unchecked = list(filter(None, unchecked))
  54.  
  55. def connectThroughProxy(proxyip, proxyport):
  56. try:
  57. headers = "GET http://google.com/ HTTP/1.1\nHost: google.com\r\n\r\n"
  58. s = socket.socket()
  59. s.settimeout(timeout)
  60. s.connect((proxyip,proxyport))
  61. s.send(headers.encode('utf-8'))
  62. response = s.recv(3000)
  63. succ(f"{proxyip}:{proxyport}")
  64. output.write(f"{proxyip}:{proxyport}\n")
  65. s.close()
  66. except socket.gaierror:
  67. fail(f"{proxyip}:{proxyport}")
  68. pass
  69. except socket.timeout:
  70. fail(f"{proxyip}:{proxyport}")
  71. pass
  72. except ConnectionRefusedError:
  73. fail(f"{proxyip}:{proxyport}")
  74. pass
  75. except ConnectionResetError:
  76. fail(f"{proxyip}:{proxyport}")
  77. pass
  78. except TimeoutError:
  79. fail(f"{proxyip}:{proxyport}")
  80. pass
  81. except OSError:
  82. fail(f"{proxyip}:{proxyport}")
  83. pass
  84.  
  85. for x in unchecked:
  86. try:
  87. proxy = x.split(":")
  88. proxyip = proxy[0]
  89. proxyport = proxy[1]
  90. t = Thread(target=connectThroughProxy, args=(proxyip, int(proxyport)))
  91. t.start()
  92. except:
  93. pass
  94.  
  95. t.join()
Add Comment
Please, Sign In to add comment