Red de conocimiento informático - Material del sitio web - Cómo usar Python o R para rastrear código fuente oculto en páginas web

Cómo usar Python o R para rastrear código fuente oculto en páginas web

¿Ocultar código fuente? ¿No estás seguro de a qué te refieres? Entiendo que hay dos tipos de código fuente oculto. Uno es que no se muestra en la parte del front-end, pero el código fuente está disponible al verlo. El segundo es que el contenido del front-end se carga de forma asincrónica. sin que el código fuente sea visible. El primero es fácil de solucionar, creo que te refieres al segundo. Hay tres formas de solucionar este problema:

Simular el navegador y obtenerlo dinámicamente. Puedes usar la gran herramienta asesina de selenio

Usa esto ¡El método se puede lograr! Siempre que se pueda ver, se puede capturar, como deslizar el mouse, cargar de forma asincrónica, etc., porque su comportamiento puede ser exactamente el mismo que el del navegador, pero este método es el menos eficiente y generalmente no se recomienda. a menos que no haya otra manera.

Ejecutar código js

Ejecutar la carga asincrónica de código js en Python para obtener funciones como pasar el mouse, desplazarse hacia abajo para cargar más contenido, etc. Sin embargo, ahora hay tantos códigos js en el sitio web que es muy difícil y lleva mucho tiempo encontrar el código js de destino que debe ejecutarse. Además, la compatibilidad entre Python y js no es muy buena y no se recomienda. .

Buscar archivos json cargados de forma asincrónica es el método más utilizado, conveniente y útil. Este es también el método más utilizado cuando suelo rastrear sitios web para carga asincrónica dinámica y puede resolver el 99% de mis problemas. problemas. El método de uso específico es abrir las herramientas de desarrollador del navegador, ingresar a la opción de red, recargar la página web y encontrar el archivo json que debe cargarse de forma asincrónica y dinámica durante el proceso de carga en la lista de redes. como ejemplo, como se muestra en la figura, el primero El primero que se encuentra es un archivo json que carga de forma asincrónica información de inventario. El segundo que se encuentra es un archivo json que carga de forma asincrónica información de revisión:

Para métodos más detallados. , puedes buscar en Google o Baidu