Cómo capturar datos dinámicos de páginas web
Definición del término: aquí los datos dinámicos se refieren al contenido de la página web generado dinámicamente por Javascript, es decir, el contenido de la página web que no está en el archivo fuente de la página web y se genera dinámicamente después de que la página web se carga en el navegador.
Vayamos al grano.
Capturar páginas estáticas es muy sencillo: obtenga el código fuente html a través de Java y luego analice el código fuente para obtener la información que desea. Por ejemplo, si desea obtener las condiciones meteorológicas en Hangzhou desde China Weather Network, sólo necesita encontrar la página html correspondiente (/weather/101210101.shtml).
Supongamos que necesito ingresar el nombre de una ciudad para obtener el clima de esa ciudad, y la fuente de datos sigue siendo China Weather Network. Lo primero que debe hacer es buscar la página correspondiente según la ciudad. Mediante un análisis simple, descubrí que existe una relación correspondiente entre la ciudad y la URL de la página. Por ejemplo, Hangzhou corresponde a 101210101, por lo que la clave del programa es encontrar la relación correspondiente entre la ciudad y la página.
Si encuentra que hay enlaces a la mayoría de las ciudades de China en el cuadro de búsqueda del sitio web, puede obtener la relación correspondiente entre la ciudad y _id. Encuentre un gran avance y comience a actuar. Vaya a la página de inicio, vea el código fuente y busque la ubicación del cuadro de búsqueda.
Resulta que los datos se agregaron dinámicamente a través de Javascript y, al usar el elemento de inspección de Chrome, puedes ver lo siguiente.
Lo que puedes hacer actualmente es usar Chrome para copiar el html a un archivo y luego analizar el archivo para obtener la información de la ciudad asociada con la URL. El problema con esto es que si la correspondencia entre ciudad y URL del sitio web cambia, esto es muy reactivo y requiere un cambio de procedimiento.
Ahora la pregunta es cómo usar Java para obtener el contenido html generado dinámicamente por Javascript, no sé qué tienes que decir.
La pregunta actual es cómo utilizar Java para obtener contenido html generado dinámicamente por Javascript.