Red de conocimientos turísticos - Conocimientos sobre calendario chino - Aprenda Python desde cero: use Selenium para obtener datos web dinámicos

Aprenda Python desde cero: use Selenium para obtener datos web dinámicos

AJAX (JavaScript y XML asincrónicos: JavaScript y XML asincrónicos) Al intercambiar una pequeña cantidad de datos con el servidor en segundo plano, Ajax realiza actualizaciones asincrónicas de las páginas web, lo que significa que parte del contenido del La página web se puede actualizar parcialmente sin tener que volver a cargar la página web completa. Las páginas web tradicionales (que no utilizan Ajax) deben recargar toda la página web si es necesario actualizar el contenido.

Debido a que las páginas web tradicionales usan la sintaxis XML para transmitir el formato de datos, se llama AJAX. De hecho, la interacción de datos actual básicamente usa JSON. Al cargar datos usando AJAX, incluso si usa JS para representar los datos en el navegador, cuando hace clic derecho en -gt y ve el código fuente de la página, aún no puede ver los datos cargados a través de ajax, solo puede ver el html; código cargado usando esta URL.

Método 1: Analizar directamente la interfaz llamada por ajax. Luego solicite la interfaz a través del código.

Método 2: Utilice Selenium chromedriver para simular el comportamiento del navegador para obtener datos.

El selenio es equivalente a un robot. Puede simular algunos comportamientos humanos en el navegador y manejar automáticamente algunos comportamientos en el navegador, como hacer clic, completar datos, eliminar cookies, etc. chromedriver es el controlador del navegador Chrome, que se utiliza para controlar el navegador. Diferentes navegadores tienen diferentes controladores, así que aquí hay una lista de diferentes navegadores y sus controladores correspondientes:

Ahora tomemos la página de inicio de Baidu como ejemplo para mostrarle cómo comenzar a usar Selenium y chromedriver:

Referencia: Uso de Selenio.

Analice directamente el rastreo de la interfaz de llamadas ajax

Selenium combinado con rastreo lxml

Selenium combinado con rastreo lxml