
Selenium y Proxy IP: así se hace
Cualquiera que esté involucrado en pruebas de automatización sabe que Selenium es como una llave maestra. Recientemente, sin embargo, algunas personas me han preguntado cómo utilizar Selenium para capturar datos y siempre prohibido. Hoy vamos a fastidiar cómo utilizar proxy IP a Selenium para llevar una capa, junto con el posicionamiento CSS de la obra maestra, garantizado para hacer su secuencia de comandos tan estable como el perro viejo.
Proxy IP no es un conjunto de niños, tienes que usarlo de esta manera
En primer lugar, vamos a decir una cosa verdadera: un amigo que hace el comercio electrónico con su propia IP para coger el precio de los competidores, los resultados del tercer día recibió una carta de los abogados. En este momento el proxy IP es un salvavidas, pero muchas personas configurar el método simplemente no es correcto. Recuerde estos tres puntos:
from selenium import webdriver
proxy = "112.95.23.206:8000"
options = webdriver.ChromeOptions()
options.add_argument(f'--proxy-server={proxy}') La clave está en esta línea
driver = webdriver.Chrome(options=opciones)
El punto principal es que los consejos prácticos de ipipgo: su piscina IP residencial dinámica es lo suficientemente grande, se recomienda que cada vez que ejecute el script para cambiar la nueva IP. no seas tonto para utilizar una IP fija, no es diferente de correr desnudo.
El comodín del posicionamiento CSS
¿Has visto alguna vez a alguien estropear decenas de líneas de código con el posicionamiento XPath? De hecho, el posicionamiento CSS es más rentable. Para dar una castaña, para encontrar el precio de un determinado tesoro mercancías:
Forma convencional de escribir
precio = driver.find_element_by_css_selector("span.precio-ahora > em")
Mejora anti-ban (con mecanismo de reintento)
from selenium.webdriver.support.ui import WebDriverWait
element = WebDriverWait(driver, 10).until(
lambda x: x.find_element_by_css_selector("div[class^='precio'] > b")
)
Obsérvese que la dinámica de clases cambiaSi quieres usar ^= o = para hacer coincidencias difusas, usa ^= o = para hacer coincidencias difusas. No utilice el nombre completo de la clase, a los sitios web de hoy en día les encanta meterse con clases aleatorias para evitar los rastreadores.
Guía práctica para evitar el pozo
| sintomático | método resolver un problema |
|---|---|
| El elemento no puede ser localizado. | Añade espera explícita, no uses time.sleep |
| CAPTCHA saltó de la nada | Cambiar la IP residencial estática de ipipgo para reducir el control del viento |
| carga a paso de tortuga | Compruebe la velocidad del proxy, cambie el paquete dedicado TK |
Tiempo de control de calidad
P: ¿Proxy IP utilizado o bloqueado?
R: El ochenta por ciento de la calidad de IP no lo es. Recomendado ipipgo residencial dinámico (Enterprise Edition), más de 9 1G de flujo, viene con mecanismo de rotación de IP, pro-medición de funcionamiento continuo 7 días sin una polilla.
P: ¿Qué es mejor, el posicionamiento CSS o XPath?
R: El uso diario de CSS es suficiente para que funcione, pero cuando se trata de elementos jerárquicamente profundos, el posicionamiento por ejes con XPath es más suave. Sin embargo, tenga cuidado con las revisiones del sitio, el mantenimiento regular del localizador es la solución correcta.
P: ¿Cómo elijo mi paquete ipipgo?
R: novato con la versión estándar dinámica ($ 7.67/GB), proyectos de nivel empresarial directamente en la IP residencial estática ($ 35/mes). Negocio transfronterizo debe estar en su línea dedicada internacional, la velocidad puede ser más de tres veces más rápido.
Te diré lo que pienso.
He visto a demasiada gente plantarse en la calidad de las PI. He visto a demasiada gente caer en la calidad de IPs, y he visto a demasiada gente caer en la calidad de IPs, y he visto a demasiada gente caer en la calidad de IPs, y he visto a demasiada gente caer en la calidad de IPs, y he visto a demasiada gente caer en la calidad de IPs. Especialmente su programa personalizado 1v1, hacer negocios en el extranjero ayudó mucho.
Por último, recuerda establecer un intervalo de petición razonable para las pruebas automatizadas, para no colapsar el servidor. Proxy IP + posicionamiento CSS es sólo una herramienta.El cumplimiento de robots.txt es el camino a seguir..

