¿Qué es 0.undetected_chromdriver?
El raspado web y la automatización web desempeñan un papel importante en muchas tareas de análisis de datos y desarrollo web hoy en día. Entre las herramientas más ampliamente utilizadas para estas tareas se encuentran Selenium y Chromedriver.
Selenium fue originalmente creado como una herramienta para automatizar pruebas de aplicaciones web, pero debido a su funcionalidad y versatilidad, se ha utilizado ampliamente como una herramienta de raspado web entre analistas de datos y desarrolladores web.
Chromedriver es un controlador WebDriver para el navegador Google Chrome en el marco de Selenium. Esto permite a los desarrolladores ejecutar scripts de prueba automatizados para navegar por sitios web o realizar acciones como un usuario (hacer clic, desplazarse, etc.) de forma automática.
Sin embargo, al intentar raspar un sitio web utilizando estas herramientas básicas, la mayoría de los sitios web modernos tienen mecanismos de seguridad que detectan y bloquean este acceso automatizado. Por ejemplo, al intentar raspar un sitio con alta seguridad utilizando Selenium y chromedriver, el sitio detecta y bloquea estas acciones al considerarlas como bots para proteger sus datos. En tales situaciones, surge la necesidad de 0.undetected_chromedriver.
0.undetected_chromedriver es una biblioteca de Python que, a diferencia de Chromedriver convencional, permite evitar la detección y bloqueo de la automatización de sitios web. En otras palabras, hace que la ejecución de scripts de raspado parezca ser realizada por una persona real, no por un bot automatizado.
Esto permite recopilar datos proporcionados por el sitio web de manera más estable y eficiente. 0.undetected_chromedriver permite a los desarrolladores familiarizados con Selenium y Chromedriver evitar estos mecanismos de detección sin necesidad de conocimientos adicionales sobre seguridad de raspado web.
De esta manera, 0.undetected_chromedriver es una herramienta que facilita la realización de tareas de raspado web de manera más fácil y eficiente.
1. Instalación y Uso
[[CÓDIGO_BLOQUE_0]]
Siga estos pasos para la instalación.
[[CÓDIGO_BLOQUE_1]]
- Diversas opciones
options = uc.ChromeOptions permite crear opciones para su inserción.
[[CÓDIGO_BLOQUE_2]]
Usar
fake_useragentpara utilizar una cadena de agente de usuario diferente en cada ejecución es una buena práctica. Esto permite cambiar la información comúnmente utilizada para identificar el navegador.Usar
selenium_stealthpara enmascarar algunas características que algunos sitios web utilizan para detectar web scrapers.Usar
driver.execute_script()para ejecutar código JavaScript y redefinir la propiedadnavigator.plugins, lo que puede bloquear otra forma en que el sitio web detecta scrapers.Usar
driver.delete_all_cookies()para eliminar todas las cookies puede ayudar a evitar el rastreo de visitas anteriores por parte del sitio web.
Con estas diversas opciones, se puede hacer funcionar 0.undetected_chromedriver.
[[CÓDIGO_BLOQUE_3]]
Inserte el código de la manera en que solía utilizar chromedriver y selenium.
2. Principales diferencias entre ChromeDriver convencional y 0.undetected_chromedriver
1) Características mejoradas: 0.undetected_chromedriver tiene capacidades mejoradas para eludir las pruebas anti-bot en comparación con ChromeDriver convencional. Está diseñado para evitar los mecanismos de defensa que algunos sitios web utilizan para evitar acciones automatizadas como el web scraping.
2) Modo sigiloso: 0.undetected_chromedriver ha introducido algunas técnicas adicionales para ocultar mejor las acciones de automatización realizadas con Selenium. Esto incluye la eliminación de la bandera navigator.webdriver, la configuración de proveedores de WebGL, la configuración del orden de los complementos de idioma, la configuración de la resolución, entre otros. En resumen, se puede decir que se le ha dado al chromedriver todas las opciones posibles.
3) Reactividad: Algunos usuarios encuentran que 0.undetected_chromedriver es más rápido y más receptivo que ChromeDriver convencional. Esto puede variar según el sitio web y no garantiza un funcionamiento perfecto en todos los sitios.
3. Conclusión
Dado que los sitios web continúan desarrollando y aplicando nuevos mecanismos de defensa, se requiere una investigación continua y métodos adicionales para evitar las últimas tecnologías de defensa.
Lea también:
Recopilación de datos, ahora automatizada
Comience en 5 minutos sin necesidad de programación · Experiencia en el raspado de más de 5,000 sitios web




