Técnicas avanzadas para la rotación de proxy con Python

Pichai Nurjanah
publicado por
Pichai Nurjanah

Elija y compre proxies

Técnicas avanzadas para la rotación de proxy con Python
0 comentarios

Crear un mecanismo de rotación de proxy eficiente es esencial cuando se trata de tareas de extracción de datos o web scraping a gran escala. Si bien las primeras etapas de proyectos de web scraping o rastreos de escala mínima pueden ser suficientes con una configuración básica, el verdadero desafío surge cuando se amplía. Para mitigar riesgos como el bloqueo de IP y garantizar la solidez de su infraestructura de scraping, se vuelve imperativo utilizar un sofisticado sistema de rotación de proxy.

Para tales fines, el uso de un proveedor de servicios de proxy profesional como OneProxy resulta invaluable. Con un grupo diverso de servidores proxy de centros de datos, dichos servicios pueden mejorar enormemente la confiabilidad y eficiencia de sus tareas de scraping.

A continuación, profundizamos en el desarrollo de un rotador de proxy más avanzado utilizando Python y Beautiful Soup, aprovechando los servicios de OneProxy para obtener resultados óptimos.

Rotación de proxy con Python

Configuración preliminar

Antes de comenzar, asegúrese de tener Beautiful Soup y el requests biblioteca instalada en su entorno Python. Estas herramientas le permitirán analizar contenido HTML y gestionar solicitudes HTTP fácilmente.

Nuestro script de rotación de proxy obtendrá servidores proxy públicos del grupo de proxy gratuito de OneProxy, al que se puede acceder en Lista de proxy gratuitos de OneProxy. Esta lista se actualiza periódicamente y ofrece un nuevo conjunto de servidores proxy para diversas necesidades.

Código de recuperación básico

Primero, necesitamos establecer el código básico para recuperar el contenido HTML de la lista de proxy gratuitos de OneProxy. Usamos una cadena de agente de usuario para emular un navegador web, lo que ayuda a evitar las detecciones de bots básicas basadas en agentes de usuario.

# -*- 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

Esta función simplemente recupera el contenido HTML de la URL proporcionada.

Analizando la lista de proxy

El BeautifulSoup La biblioteca analizará el contenido HTML para extraer los servidores proxy. Los servidores proxy generalmente se enumeran dentro de una estructura de tabla en la página web, identificados por etiquetas y atributos HTML específicos.

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

Representantes rotativos

La siguiente función organiza la rotación del proxy seleccionando aleatoriamente un proxy disponible de la lista obtenida:

from random import choice

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

Poniendolo todo junto

Combinando todas las funciones, el script final integra la búsqueda, el análisis y la rotación de proxy, proporcionando un sistema de rotación de proxy perfecto.

# -*- 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'])

Escalado profesional con OneProxy

Para entornos de producción donde la escala se extiende a miles de solicitudes, los grupos de proxy gratuitos pueden no ser suficientes debido a consideraciones de confiabilidad y velocidad. En esta coyuntura, un servicio de proxy rotativo se vuelve esencial.

OneProxy ofrece una solución sólida con características tales como:

  • Proxies globales de alta velocidad: Millones de servidores proxy de centros de datos en todo el mundo garantizan conexiones rápidas e ininterrumpidas.
  • Rotación automática de IP: Las direcciones IP se rotan sin problemas para evitar la detección y las prohibiciones.
  • Rotación de cadenas de usuario-agente: Imita solicitudes de varios navegadores web y versiones, mejorando la no detectabilidad de los bots.
  • Resolución de CAPTCHA: Integra tecnología para resolver CAPTCHA automáticamente, agilizando así el proceso de raspado.

Con OneProxy, los clientes han superado triunfalmente los desafíos del bloqueo de IP, optimizando así sus procesos de extracción de datos web.

Los servicios de OneProxy son versátiles y se pueden implementar en cualquier lenguaje de programación, atendiendo a una amplia gama de proyectos y requisitos.

Oferta especial: Experimente el poder de la rotación de proxy profesional con OneProxy. Comience con 50.000 solicitudes sin costo

Comprar proxies rotativos

DEJA UN COMENTARIO

Proxies del centro de datos
Proxies compartidos

Una gran cantidad de servidores proxy rápidos y confiables.

A partir de$0.06 por IP
Representantes rotativos
Representantes rotativos

Proxies rotativos ilimitados con modelo de pago por solicitud.

A partir de$0.0001 por solicitud
Proxies privados
Proxies UDP

Proxies con soporte UDP.

A partir de$0.4 por IP
Proxies privados
Proxies privados

Proxies dedicados para uso individual.

A partir de$5 por IP
Proxies ilimitados
Proxies ilimitados

Servidores proxy con tráfico ilimitado.

A partir de$0.06 por IP
¿Listo para usar nuestros servidores proxy ahora mismo?
desde $0.06 por IP