“Come il Nilo scorre silenzioso, ma porta con sé i segreti della terra, così anche i nostri dati devono attraversare la rete, protetti dalla corrente dell'anonimato.”
Lo scopo e il potere dei pool proxy
Nelle sabbie del mondo antico, i commercianti usavano percorsi nascosti per proteggere le loro carovane da occhi indiscreti. Oggi, i proxy svolgono un ruolo simile: nascondere le impronte digitali, distribuire le richieste ed eludere lo sguardo sempre vigile di limitatori di velocità e firewall.
Un pool di proxy è un insieme di server proxy. Ruotando le richieste tra più proxy, si evitano rilevamenti, ban e colli di bottiglia. Creare un pool di proxy personalizzato con Python e Bash offre sovranità, flessibilità e la saggezza del controllo, a differenza dell'affidarsi a costose soluzioni di terze parti.
Tabella: Approcci al pool proxy
Approccio | Professionisti | Contro | Esempi di casi d'uso |
---|---|---|---|
API di terze parti | Facile installazione, manutenzione gestita | Costoso, meno controllo, lista nera | Prototipazione rapida |
Fai da te con Python | Controllo completo, conveniente | Richiede manutenzione, affidabilità | Web scraping, automazione |
Scripting Bash | Leggero, facile da integrare | Gestione manuale e meno scalabile | Attività rapide, controlli sanitari |
Raccolta di fonti proxy
“"Non bere da un pozzo che non conosci", mi disse una volta un anziano: scegli con saggezza le tue fonti di approvvigionamento.
Proxy pubblici gratuiti
Bash: recupera e analizza l'elenco dei proxy
curl -s https://www.sslproxies.org/ | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}:[0-9]+' > proxies.txt
Servizi proxy a pagamento
Per attività mission-critical, prendere in considerazione fornitori come https://brightdata.com/ O https://www.oxylabs.io/. Offrono maggiore affidabilità e migliore anonimato.
Convalida dei proxy
Saggezza antica: "Prova la pietra prima di costruire".“
Python: verifica la disponibilità del proxy
richieste di importazione def is_proxy_working(proxy): prova: risposta = requests.get('https://httpbin.org/ip', proxies={'http': proxy, 'https': proxy}, timeout=5) restituisci response.status_code == 200 eccetto: restituisci False # Leggi i proxy dal file con open('proxies.txt') come f: proxies = [line.strip() per la riga in f] working_proxies = [p per p in proxies se is_proxy_working(p)] con open('working_proxies.txt', 'w') come f: per p in working_proxies: f.write(f"{p}\n")
Rotazione dei proxy con Python
Il segreto della carovana: non percorrere mai due volte lo stesso itinerario.
Rotatore proxy semplice
importa richieste di importazione casuali con open('working_proxies.txt') come f: proxies = [line.strip() per la riga in f] def get_random_proxy(): return random.choice(proxies) def fetch_with_proxy(url): proxy = get_random_proxy() try: resp = requests.get(url, proxies={'http': proxy, 'https': proxy}, timeout=10) print(f"Utilizzo di {proxy}: {resp.status_code}") return resp.text eccetto Eccezione come e: print(f"Proxy {proxy} non riuscito: {e}") return None # Esempio di utilizzo html = fetch_with_proxy('https://httpbin.org/ip')
Bash: controllo rapido dello stato del proxy
Per coloro che preferiscono la riga di comando, come gli artigiani di un tempo preferivano i loro strumenti:
durante la lettura del proxy; esegui timeout 5 curl -s --proxy $proxy https://httpbin.org/ip >/dev/null && echo "$proxy è attivo" fatto < proxies.txt
Automazione degli aggiornamenti del pool proxy
Come l'annuale inondazione del Nilo, i proxy vanno e vengono: l'automazione è fondamentale.
Bash: recupero e convalida pianificati
#!/bin/bash # Recupera nuovi proxy ogni giorno curl -s https://free-proxy-list.net/ | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}:[0-9]+' > proxies.txt # Convalida i proxy > working_proxies.txt durante la lettura del proxy; timeout 5 curl -s --proxy $proxy https://httpbin.org/ip >/dev/null && echo "$proxy" >> working_proxies.txt done < proxies.txt
Pianifica con cron
:
0 2 * * * /percorso/verso/il/tuo/script.sh
Avanzato: servire proxy tramite API con Flask
Alla corte del Faraone, l'accesso alle risorse veniva concesso con una parola. Fornisci un'API per il tuo pool:
da flask importa Flask, jsonify importa random app = Flask(__name__) def get_proxies(): con open('working_proxies.txt') come f: restituisci [line.strip() per la riga in f] @app.route('/get_proxy') def get_proxy(): proxies = get_proxies() restituisci jsonify({'proxy': random.choice(proxies)}) se __name__ == '__main__': app.run(porta=5000)
Sicurezza, etica e buone pratiche
- Non utilizzare mai i proxy per scopi illegali o non etici.
- Ruotare gli user agent e i proxy (falso agente utente).
- Controlla i divieti IP e aggiorna regolarmente il tuo pool.
- Rispetto robot.txt e termini del sito di destinazione.
Risorse chiave
- richiede la libreria Python
- Micro framework web Flask
- lista-proxy-gratuita.net
- Dati luminosi
- Oxylabs
Così come gli antichi custodivano i loro segreti commerciali, anche tu dovresti custodire il tuo pool di proxy: mantienilo, ruotalo e gestiscilo con saggezza.
Commenti (0)
Non ci sono ancora commenti qui, potresti essere il primo!