import requests
import uuid
from bs4 import BeautifulSoup
try:
url = "https://raw.githubusercontent.com/clarketm/proxy-list/master/proxy-list-raw.txt"
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36'}
s = requests.Session()
r = s.get(url,headers=headers)
print (r.text)
proxy_list = [x.strip() for x in r.text.split("\n")]
fname = 'proxyFolder/' + str(uuid.uuid4()) + '.txt'
print("DUMPING PROXIES TO => ", fname)
with open(fname, "w", encoding='utf-8') as file:
for proxy in proxy_list:
if ":" in proxy:
file.write(proxy + "\n")
except Exception as e:
print (e)
print ("clark_github.py error v.v")
import requests
import uuid
from bs4 import BeautifulSoup
from termcolor import colored
import base64
import time
def dump_proxy(proxy_list):
# proxy_list = []
if not proxy_list:
return 0
fname = 'proxyFolder/' + str(uuid.uuid4()) + '.txt'
print("DUMPING PROXIES TO => ", fname)
with open(fname, "w", encoding='utf-8') as file:
for proxy in proxy_list:
file.write(proxy + "\n")
urls = ["http://free-proxy.cz/en/proxylist/country/CA/all/ping/all",
"http://free-proxy.cz/en/proxylist/country/US/all/ping/all",
"http://free-proxy.cz/en/proxylist/country/GB/all/ping/all"
]
for url in urls:
proxy_list = set()
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36'}
s = requests.Session()
r = s.get(url,headers=headers)
html = BeautifulSoup(r.text,'lxml')
table = html.find('table',id='proxy_list')
rows = table.find_all("tr")
rows.pop(0)
for row in rows:
rowx = (str(row))
try:
ip = rowx.split('Base64.decode("')[1].split('"')[0]
ip = base64.b64decode(ip).decode('utf-8')
port = row.find('span',{"class": "fport"}).text
proxy = ip.strip() + ":" + port.strip()
print (proxy)
proxy_list.add(proxy)
except:
pass
dump_proxy(proxy_list)
time.sleep(10)
import requests
import uuid
try:
#r = requests.get("https://proxylist.geonode.com/api/proxy-list?limit=50&page=1&sort_by=lastChecked&sort_type=desc&google=true")
r = requests.get("https://proxylist.geonode.com/api/proxy-list?limit=500&page=1&sort_by=lastChecked&sort_type=desc",timeout=30)
data = r.json()
#print (data)
#print (type(data))
#print (data['data'])
stack = []
for proxy in data['data']:
#print (proxy)
raw_p = proxy['ip'] + ":" + proxy['port']
#print (raw_p)
stack.append(raw_p)
fname = 'proxyFolder/' + str(uuid.uuid4()) + '.txt'
with open(fname,"w") as f:
for x in stack:
f.write(x+"\n")
print ("Found => ",len(stack))
except Exception as e:
print (e)
print ("geonode error v.v")
import uuid
from bs4 import BeautifulSoup
from selenium import webdriver
from termcolor import colored
from selenium.webdriver.chrome.options import Options
try:
url = "https://www.proxynova.com/proxy-server-list/"
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36'}
opts = Options()
opts.add_argument("user-agent=" + headers['User-Agent'])
driver = webdriver.Chrome(chrome_options=opts)
driver.get(url)
html = driver.page_source
html = BeautifulSoup(html,'lxml')
table = html.find("table")
rows = table.find_all("tr")
proxy_list = set()
for row in rows:
#print (colored("xo0o0o0o0o0ox0ox0ox0ox0ox0o0",'yellow'))
tds = row.find_all("td")
#for td in tds:
# print(colored("xo0o0o0o0o0ox0ox0ox0ox0ox0o0", 'red'))
# print (td)
try:
ip=tds[0].text.strip()
port=tds[1].text.strip()
proxy = ip + ":" + port
print (colored(proxy,'yellow'))
proxy_list.add(proxy)
except:
pass
fname = 'proxyFolder/' + str(uuid.uuid4()) + '.txt'
print ('wrote to => ',fname)
with open(fname, "w", encoding='utf-8') as file:
for proxy in proxy_list:
file.write(proxy+"\n")
driver.quit()
except Exception as e:
print (e)
import requests
from bs4 import BeautifulSoup
import uuid
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
import time
from selenium.webdriver.common.keys import Keys
def extract_proxies(htmlraw):
'''
9/1/2022
works with extracting proxies from spys.one html
:param fname:
:return:
'''
proxy_list = set()
html = BeautifulSoup(htmlraw,'lxml')
rows = html.find_all("tr",{"class": "spy1x"})
rows2 = html.find_all("tr",{"class":"spy1xx"})
for row in rows2:
rows.append(row)
for row in rows:
proxy = row.find("font").text
#print (proxy)
#print ("<3333333333333333333333333333333333")
proxy_list.add(proxy)
fname = 'proxyFolder/' + str(uuid.uuid4()) + '.txt'
print ("DUMPING PROXIES TO => ",fname)
with open(fname, "w", encoding='utf-8') as file:
for proxy in proxy_list:
file.write(proxy+"\n")
print ('found total from spys.one => ',len(rows))
url = "https://spys.one/free-proxy-list/US/"
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36'}
opts = Options()
opts.add_argument("user-agent=" + headers['User-Agent'])
driver = webdriver.Chrome(chrome_options=opts)
driver.get(url)
time.sleep(3)
driver.find_element(By.CSS_SELECTOR,"#xpp").click()
time.sleep(.9)
driver.find_element(By.CSS_SELECTOR,"#xpp > option:nth-child(5)").click()
time.sleep(.9)
htmlraw = driver.page_source
extract_proxies(htmlraw)
driver.quit()
#fname = 'html_dump/' + str(uuid.uuid4()) + '.html'
#with open(fname, "w", encoding='utf-8') as file:
# file.write(str(html))
import os
os.system("py -3.8 clark_github.py > stats/clark_github.txt | py -3.8 free_proxy_site.py > stats/free_proxy_site.txt | py -3.8 geonode.py > stats/geonode.txt | py -3.8 proxynova.py > stats/proxy_nova.txt | py -3.8 spys.py > stats/spys.txt")