Compare un único sitio web/sesiones de navegación en diferentes momentos

Compare un único sitio web/sesiones de navegación en diferentes momentos

Necesito comparar sitios web individuales en diferentes momentos. es decir, después de unos días o después de haber iniciado sesión. No estoy tan interesado en los tiempos de respuesta sino más bien en el contenido real, como js, ​​imágenes... Me gusta que el js que me entreguen hoy sea el mismo que ayer. ¿Existe una manera clara de volcarlos más o menos automáticamente y compararlos (según el hash del archivo)?

Lo mejor que se me ocurrió es usar un proxy con inspección TLS que debería entregar todos los archivos descargados en texto claro. O utilice archivos har que también deberían incluir todos los archivos que componen el sitio web. ¿Hay algo que esos enfoques puedan pasar por alto? ¿O tal vez existen formas alternativas de hacerlo?

Editar:

Necesito descargar cosas después de haber iniciado sesión y, en particular, necesito saber qué envían/reciben algunos scripts en segundo plano. Entonces necesito grabar una sesión activa y capturar todos los datos que pasan por el cable en texto claro.

Respuesta1

Si necesita iniciar sesión y realizar algunas acciones, las descargas estáticas utilizando wgetherramientas similares no serán suficientes. En este caso, sugiero usarSeleniopara programar las acciones requeridas y volcar todo el contenido del sitio web junto con la respuesta.

La idea básica sería escribir un script en su idioma preferido (por ejemplo, Python, Javascript, Ruby,...) que utilice el controlador web Selenium para controlar un navegador. El script realiza las acciones de inicio de sesión, hace clic en elementos, etc., y una vez que recibe una respuesta, puede almacenar el cuerpo de la página transferida. Un ejemplo simple para Python esdado aquíy algún código que muestra el inicio de sesiónaquí.

Tendría que extender el código recorriendo todas las <script>etiquetas externas, descargando su fuente o, revisando todas <img>las etiquetas, podría descargar las imágenes. De esta manera, puede diferenciar fácilmente el código HTML principal y ver los nombres de archivos individuales de los scripts/imágenes llamados.

Otra posibilidad sería ejecutar el script Selenium conNavegadorMob, que puede exportar archivos HAR. De esta manera puedes combinar la automatización con el volcado de todo automáticamente. Por supuesto, entonces hay que comparar los archivos HAR, para los cuales existen diferentes visores. Tenga en cuenta que deberá utilizar certificados Man-in-the-Middle con BrowserMob si desea que funcione con sitios HTTPS.

Respuesta2

Si desea descargar un sitio web completo, consulte el artículo. El mejor destripador de sitios web gratuito.

Este artículo contiene reseñas de varios buenos rippers: HTTrack, PageNest, wget y más. He usado HTTrack en el pasado y funcionó para mí.

Para retroceder más en el tiempo, puedes probar el Archivo de Internet Wayback Machine que intenta archivar toda la Web. Toma instantáneas de los sitios web con regularidad, por lo que encontrará varias versiones para comparar.

Para capturar el tráfico, necesitará un monitor de tráfico web. Puedo recomendar dos productos excelentes: Wireshark y Microsoft Telerik violinista.

información relacionada