Tecniche avanzate per la rotazione dei proxy con Python

Pichai Nurjanah
Pubblicato da
Pichai Nurjanah

Scegli e acquista proxy

Tecniche avanzate per la rotazione dei proxy con Python
0 Commenti

La creazione di un efficiente meccanismo di rotazione dei proxy è essenziale quando si affrontano attività di web scraping o data mining su larga scala. Mentre le prime fasi dei progetti di web scraping o di scansione su scala minima potrebbero essere sufficienti con una configurazione di base, la vera sfida si presenta quando si aumenta la scalabilità. Per mitigare rischi come il blocco IP e garantire la robustezza della tua infrastruttura di scraping, l'utilizzo di un sofisticato sistema di rotazione dei proxy diventa fondamentale.

Per tali scopi, l’utilizzo di un fornitore di servizi proxy professionale come OneProxy diventa prezioso. Con un pool diversificato di server proxy del data center, tali servizi possono migliorare notevolmente l'affidabilità e l'efficienza delle attività di scraping.

Di seguito, approfondiamo lo sviluppo di un rotatore proxy più avanzato utilizzando Python e Beautiful Soup, sfruttando i servizi di OneProxy per risultati ottimali.

Rotazione proxy con Python

Configurazione preliminare

Prima di iniziare, assicurati di avere Beautiful Soup e il requests libreria installata nel tuo ambiente Python. Questi strumenti ti consentiranno di analizzare il contenuto HTML e gestire facilmente le richieste HTTP.

Il nostro script di rotazione dei proxy recupererà i proxy pubblici dal pool di proxy gratuito di OneProxy, a cui è possibile accedere all'indirizzo Elenco proxy gratuiti OneProxy. Questo elenco viene aggiornato regolarmente, offrendo una nuova serie di proxy per varie esigenze.

Codice di recupero di base

Innanzitutto, dobbiamo stabilire il codice di base per recuperare il contenuto HTML dall'elenco dei proxy gratuiti di OneProxy. Usiamo una stringa user-agent per emulare un browser web, il che aiuta a bypassare i rilevamenti bot di base basati sullo user-agent.

# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
import requests
url = https://oneproxy.pro/free-proxy/

def fetch_proxies(url):
    header = {
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) ' +
        'AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2 Safari/601.3.9'
    }
    response = requests.get(url, headers=header)
    return response.content

Questa funzione recupera semplicemente il contenuto HTML dall'URL fornito.

Analisi dell'elenco dei proxy

IL BeautifulSoup la libreria analizzerà il contenuto HTML per estrarre i proxy. I proxy sono generalmente elencati all'interno di una struttura di tabella sulla pagina Web, identificati da tag e attributi HTML specifici.

def parse_proxies(html_content):
    soup = BeautifulSoup(html_content, 'lxml')
    proxy_table = soup.select_one('#proxy-list-table')  # Replace with the correct ID
    proxies = []
    for row in proxy_table.select('tr'):
        columns = row.select('td')
        if columns:
            ip, port = columns[0].get_text(), columns[1].get_text()
            proxies.append({'ip': ip, 'port': port})
    return proxies

Proxy a rotazione

La seguente funzione orchestra la rotazione del proxy selezionando in modo casuale un proxy disponibile dall'elenco recuperato:

from random import choice

def rotate_proxies(proxies):
    if proxies:
        return choice(proxies)
    else:
        return None

Mettere tutto insieme

Combinando tutte le funzioni, lo script finale integra il recupero, l'analisi e la rotazione dei proxy, fornendo un sistema di rotazione dei proxy senza soluzione di continuità.

# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
from random import choice

# Functions previously defined: fetch_proxies, parse_proxies, rotate_proxies

proxies = []  # This will hold our list of proxies

def refresh_proxies():
    global proxies
    proxies = parse_proxies(fetch_proxies('https://oneproxy.pro/free-proxy/'))

def get_random_proxy():
    if not proxies:
        refresh_proxies()
    return rotate_proxies(proxies)

# Main execution
refresh_proxies()
proxy = get_random_proxy()
print(proxy['ip'], proxy['port'])

Scalabilità professionale con OneProxy

Per gli ambienti di produzione in cui la scala si estende a migliaia di richieste, i pool di proxy gratuiti potrebbero non essere sufficienti per ragioni di affidabilità e velocità. In questo frangente, a servizio proxy a rotazione diventa essenziale.

OneProxy offre una soluzione solida con funzionalità come:

  • Proxy globali ad alta velocità: Milioni di proxy di data center in tutto il mondo garantiscono connessioni rapide e ininterrotte.
  • Rotazione IP automatica: gli indirizzi IP vengono ruotati senza interruzioni per impedire il rilevamento e i divieti.
  • Rotazione delle stringhe utente-agente: imita le richieste di vari browser Web e versioni, migliorando la non rilevabilità dei bot.
  • Risoluzione dei CAPTCHA: Integra la tecnologia per risolvere automaticamente i CAPTCHA, semplificando così il processo di scraping.

Con OneProxy, i clienti hanno affrontato trionfalmente le sfide del blocco IP, semplificando così i processi di estrazione dei dati web.

I servizi di OneProxy sono versatili e possono essere implementati in qualsiasi linguaggio di programmazione, soddisfacendo un'ampia gamma di progetti ed esigenze.

Offerta speciale: Sperimenta la potenza della rotazione proxy professionale con OneProxy. Inizia con 50.000 richieste senza alcun costo

Acquista proxy a rotazione

LASCIA UN COMMENTO

Proxy del datacenter
Proxy condivisi

Un numero enorme di server proxy affidabili e veloci.

A partire da$0,06 per IP
Proxy a rotazione
Proxy a rotazione

Deleghe a rotazione illimitata con modello pay-per-request.

A partire da$0.0001 per richiesta
Proxy privati
Proxy UDP

Proxy con supporto UDP.

A partire da$0,4 per IP
Proxy privati
Proxy privati

Proxy dedicati per uso individuale.

A partire da$5 per IP
Proxy illimitati
Proxy illimitati

Server proxy con traffico illimitato.

A partire da$0,06 per IP
Pronto a utilizzare i nostri server proxy adesso?
da $0,06 per IP