Advertisement
Alexquickdraw

Simple elite proxy grabber

Apr 22nd, 2017
1,080
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.25 KB | None | 0 0
  1. import requests
  2. import json
  3. import re
  4. import time
  5.  
  6. Elite_Proxy_Holder = []
  7. Anonymous_Proxy_Holder = []
  8.  
  9. """
  10. Proxy grabber v 0.1
  11. By Hardware@chatango
  12. >> Attempts to grab proxies until it hits the minmum amount you want
  13. >> However you start a cycle session by passing a number to the function, it'll continue if it doesn't reach the minimum preset.
  14. >> Only looks at freshly 1-5min ago checked proxies and awaits new ones.
  15. >> Only supports one website so far.
  16. >> This is for those whom just need some quick proxies for requests.
  17. >> Written in Python 3.4 and requires the request module.
  18. >> Writes the proxies into two seperate txt files, Anonymous_Proxy.txt and Elite_Proxy.txt
  19. >> Call the function with: grabProxies(amount of cycles) #optional parameters: minProxies(min proxies to get), maxMs(Max response time)
  20. """
  21.  
  22. #Makes sure that it get the minimum amount of proxies you requested.
  23. def checker(minProxies):
  24.   if len(Elite_Proxy_Holder) + len(Anonymous_Proxy_Holder) < minProxies:
  25.      q = len(Elite_Proxy_Holder) + len(Anonymous_Proxy_Holder)
  26.      print("Getting remaining proxies.. %s/%s" % (int(minProxies) - q, minProxies))
  27.      print(grabProxies(10))
  28.      
  29. #Grabs proxies;  cycles, minimum amount before stopping, max response time
  30. def grabProxies(times, minProxies = 5,  maxMs = 500):
  31.     c = 0
  32.     try:
  33.       for T in range(int(times)):
  34.          print("Proxy grabbing session started! %s/%s" %(int(T)+1,times))
  35.          proxyElite = []
  36.          proxyAnonymous = []
  37.          a = requests.get("http://www.gatherproxy.com/",headers ={"User-Agent":"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36"})
  38.          data = a.text
  39.          f = re.findall("insertPrx(.*?);", data)
  40.          for x in f:
  41.              if "elite" in str(x).lower():
  42.                  s = ""
  43.                  t = json.loads(x[1:-1])
  44.                  try:
  45.                   if int(t["PROXY_PORT"])>0 and int(t["PROXY_TIME"])<maxMs:
  46.                    eP = "%s:%s" % (t["PROXY_IP"], t["PROXY_PORT"])
  47.                    if eP not in proxyElite:
  48.                       proxyElite.append(eP)
  49.                  except: c +=1
  50.              elif "anonymous" in str(x).lower():
  51.                  s = ""
  52.                  t = json.loads(x[1:-1])
  53.                  try:
  54.                   if int(t["PROXY_PORT"])>0 and int(t["PROXY_TIME"])<maxMs:
  55.                     aP =  "%s:%s" % (t["PROXY_IP"], t["PROXY_PORT"])
  56.                     if aP not in proxyAnonymous:
  57.                        proxyAnonymous.append(x[1:-1])
  58.                  except: c += 1      
  59.          for E in proxyElite:
  60.              if E not in Elite_Proxy_Holder:
  61.               Elite_Proxy_Holder.append(E)
  62.          for A in proxyAnonymous:
  63.               if A not in proxyAnonymous:
  64.                Anonymous_Proxy_Holder.append(A)
  65.          print("Session finished! %s/%s" % (int(T)+1, times))
  66.       with open("Elite_Proxy.txt", "w") as f:
  67.           f.write("\n".join(Elite_Proxy_Holder))
  68.       with open("Anonymous_Proxy.txt", "w") as ff:
  69.           ff.write("\n".join(Anonymous_Proxy_Holder))
  70.       checker(minProxies)
  71.       return print("Finished! -> Check your txt files.")
  72.     except Exception as e: print("Error: %s" % e)
  73.    
  74.  
  75. #Testing
  76. print(grabProxies(20,10,300))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement