Può capitare di avere bisogno di utilizzare all’interno del proprio codice un servizio proxy SOCKS5 per rendere un po’ più anonima la navigazione nel web senza utilizzare una più sicura, ma più lenta VPN. Personalmente risolvo utilizzando questa funzione in Python che ho realizzato sfruttando i moduli request e BeautifulSoup che richiama la pagina dedicata del portale Spys.one, legge la lista dei server disponibili e ritorna l’IP del server con la relativa porta di utilizzo.
Di seguito il codice pronto all’utilizzo:
import requests from bs4 import BeautifulSoup def cercaProxy(): ip = '' porta = '' proxy = '' t_data = {} url = "http://spys.one/en/socks-proxy-list/" r = requests.get(url, headers={'User-Agent': 'Mozilla/5.0'}) soup = BeautifulSoup(r.content, 'lxml') cercaip = soup.find_all('font', attrs={'class' : 'spy14'}) work = cercaip[1].text legenda = soup.find_all('script', attrs={'type' : 'text/javascript'}) discover = (legenda[1].text).split(';') for brace in discover: if brace == '': continue tar = brace.split('=') if tar[1][1] == '^': t_data.update({tar[0]:tar[1][0]}) if work.find('document.write'): start_index = work.find('document.write') ip = work[:start_index] plus_index = work.find('"+(') + 2 porta_tmp = work[plus_index:-1] leggiporta=porta_tmp.split('+') for item in leggiporta: rar = item.split('^') itm_porta = str(t_data.get(rar[0][1:], 'n')) porta = porta + itm_porta proxy = ip + ':' + porta print 'Proxy ip: ' + proxy return proxy
Filed under: Internet - WEB, Software | Tagged: BeautifulSoup, coding, IP masking, programma, proxy, Python, request, SOCKS5, Software |
Lascia un commento