Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import requests
- import json
- import re
- import time
- Elite_Proxy_Holder = []
- Anonymous_Proxy_Holder = []
- """
- Proxy grabber v 0.1
- By Hardware@chatango
- >> Attempts to grab proxies until it hits the minmum amount you want
- >> However you start a cycle session by passing a number to the function, it'll continue if it doesn't reach the minimum preset.
- >> Only looks at freshly 1-5min ago checked proxies and awaits new ones.
- >> Only supports one website so far.
- >> This is for those whom just need some quick proxies for requests.
- >> Written in Python 3.4 and requires the request module.
- >> Writes the proxies into two seperate txt files, Anonymous_Proxy.txt and Elite_Proxy.txt
- >> Call the function with: grabProxies(amount of cycles) #optional parameters: minProxies(min proxies to get), maxMs(Max response time)
- """
- #Makes sure that it get the minimum amount of proxies you requested.
- def checker(minProxies):
- if len(Elite_Proxy_Holder) + len(Anonymous_Proxy_Holder) < minProxies:
- q = len(Elite_Proxy_Holder) + len(Anonymous_Proxy_Holder)
- print("Getting remaining proxies.. %s/%s" % (int(minProxies) - q, minProxies))
- print(grabProxies(10))
- #Grabs proxies; cycles, minimum amount before stopping, max response time
- def grabProxies(times, minProxies = 5, maxMs = 500):
- c = 0
- try:
- for T in range(int(times)):
- print("Proxy grabbing session started! %s/%s" %(int(T)+1,times))
- proxyElite = []
- proxyAnonymous = []
- 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"})
- data = a.text
- f = re.findall("insertPrx(.*?);", data)
- for x in f:
- if "elite" in str(x).lower():
- s = ""
- t = json.loads(x[1:-1])
- try:
- if int(t["PROXY_PORT"])>0 and int(t["PROXY_TIME"])<maxMs:
- eP = "%s:%s" % (t["PROXY_IP"], t["PROXY_PORT"])
- if eP not in proxyElite:
- proxyElite.append(eP)
- except: c +=1
- elif "anonymous" in str(x).lower():
- s = ""
- t = json.loads(x[1:-1])
- try:
- if int(t["PROXY_PORT"])>0 and int(t["PROXY_TIME"])<maxMs:
- aP = "%s:%s" % (t["PROXY_IP"], t["PROXY_PORT"])
- if aP not in proxyAnonymous:
- proxyAnonymous.append(x[1:-1])
- except: c += 1
- for E in proxyElite:
- if E not in Elite_Proxy_Holder:
- Elite_Proxy_Holder.append(E)
- for A in proxyAnonymous:
- if A not in proxyAnonymous:
- Anonymous_Proxy_Holder.append(A)
- print("Session finished! %s/%s" % (int(T)+1, times))
- with open("Elite_Proxy.txt", "w") as f:
- f.write("\n".join(Elite_Proxy_Holder))
- with open("Anonymous_Proxy.txt", "w") as ff:
- ff.write("\n".join(Anonymous_Proxy_Holder))
- checker(minProxies)
- return print("Finished! -> Check your txt files.")
- except Exception as e: print("Error: %s" % e)
- #Testing
- print(grabProxies(20,10,300))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement