
Enseñarle a utilizar Selenium con una IP proxy de red.
Amigos dedicados a las pruebas de automatización saben que el más miedo de usar Selenium para hacer la recopilación de datos cuando la IP está bloqueada. Recientemente, cuando ayudé a la gente de depuración de secuencias de comandos, me encontré con que muchas personas incluso no saben cómo hacer coincidir el proxy básico. Hoy vamos a fastidiar cómo integrar ipipgo proxy IP en Selenium, centrándose en la solución de los escollos en el uso real.
¿Por qué tengo que utilizar una IP proxy?
Para citar un caso real: el año pasado hay una comparación de precios de comercio electrónico del tipo, con su propia banda ancha para ejecutar secuencias de comandos para capturar los datos, los resultados de tres días en el sitio de destino para tirar del negro. Más tarde, se cambió el grupo de IP residencial dinámica.La tasa de éxito de las solicitudes se dispara directamente de 32% a 89%. El uso de IPs proxy es ahora un estándar de la industria, especialmente para escenarios de negocio que requieren pruebas multi-región.
Dos opciones de configuración para el mundo real
A continuación se muestra un ejemplo de Chrome (y otros navegadores también), y recomendamos dos maneras de emparejar la red que han funcionado:
Opción 1: Inyección directa de parámetros
from selenium import webdriver
proxy_host = "gateway.ipipgo.com" dirección del servidor proxy
proxy_port = "9021" Sustituir por el puerto real.
proxy_user = "tu_nombre_de_usuario"
proxy_pass = "su_contraseña"
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(f"--proxy-server=http://{proxy_user}:{proxy_pass}@{proxy_host}:{proxy_port}")
driver = webdriver.Chrome(options=opciones_cromo)
Esta redacción es adecuada para escenarios que requieren pruebas rápidas, pero hay que tener en cuenta un escollo:Algunos sitios web detectarán el navegador con parámetros proxyes hora de utilizar la segunda opción.
Opción 2: Complemento de autenticación proxy
from selenium.webdriver import Proxy
from selenium.webdriver.common.proxy import ProxyType
proxy = Proxy()
proxy.proxy_type = ProxyType.MANUAL
proxy.http_proxy = f"{proxy_host}:{proxy_port}"
proxy.socks_username = proxy_user
proxy.socks_password = proxy_pass
capabilities = webdriver.DesiredCapabilities.CHROME
proxy.add_to_capabilities(capabilities)
driver = webdriver.Chrome(capacidades_deseadas=capacidades)
Esta forma de escribir es más cercana al entorno real del navegador y es adecuada para empresas que requieren un alto anonimato. La prueba real utilizaAgente de línea TKCon este esquema, la tasa de reconocimiento antitrepa puede reducirse en 70%.
Guía de selección de envases
Configuraciones recomendadas basadas en escenarios empresariales:
| Tipo de empresa | Paquetes recomendados | consumo medio diario |
|---|---|---|
| Recogida de datos a corto plazo | Residencial dinámico (estándar) | 10-20 GB |
| Pruebas automatizadas a largo plazo | Viviendas estáticas | IP fija |
| Operaciones de alta concurrencia | Residencial dinámico (empresa) | MÁS DE 50 GB |
Generalmente me gusta usar proxies residenciales estáticos - después de todo, son estables, y aunque el precio unitario parece un poco más caro, en realidad son más rentables a largo plazo. Recientemente los nuevos usuarios de ipipgo durante el primer mes tuvieron10% de descuentose recomienda realizar primero el paquete de pruebas para practicar.
Preguntas frecuentes sobre el desminado
P: ¿El proxy está emparejado pero la conexión falla?
R: Primero compruebe los tres elementos: 1. El formato IP es correcto 2. Si se abre la lista blanca 3. La cuota se ha agotado. ipipgo monitorización del uso en tiempo real, se recomienda abrir la depuración.
P: ¿Qué debo hacer si encuentro un error de certificado?
R: Añade este parámetro en opciones:chrome_options.add_argument('--ignore-certificate-errors')
P: ¿Cómo cambiar automáticamente entre distintas IP regionales?
R: Llame a la API de ipipgo para obtener nuevos proxies, y se recomienda establecer un periodo de rotación de 30 minutos. Hay ejemplos de código listos en la documentación de su API
Intercambio de experiencias para evitar escollos
Recientemente, me encontré con un problema extraño: cuando entraba en una web con Selenium+proxy, siempre saltaba el captcha. Más tarde, descubrí que eraSe reconocen las huellas del navegadorLa solución es doble Hay dos soluciones: 1. cambiar aleatoriamente el user-agent cada vez que se inicia 2. con el proxy de línea especial transfronteriza de ipipgo (su puntuación de reputación IP para esta línea es más alta).
Otro recordatorio para los novatos: ¡no escribas parámetros proxy muertos en tu código! Se recomienda utilizar variables de entorno para almacenar la información de autenticación, que es a la vez seguro y conveniente para cambiar entre diferentes paquetes.

