intentos de Ajax a los datos de rastreo Weibo

intentos de Ajax a los datos de rastreo Weibo

Autor: Murphy no Filipinas

prefacio

El tiempo vuela, el tiempo vuela. Sin darse cuenta, se convirtió en un momento del día, minuto a minuto, no pasó nada, pero una fracción de los dedos se deslizan como, difícil de encontrar. Abrir y cerrar de ojos fue al viernes, que es familiar a viernes, sonó el timbre de la escuela, y al instante desierta. Me senté solo en la última fila del aula, confiando en la luneta trasera, que guardan celosamente puerta vacía. La multitud se dispersó una unidad, un movimiento un lugar tranquilo, la gente duda en la facilidad, al igual que no tiene modales. Y la mirada en el árbol de ginkgo planta baja se hunde, la gente en la clase de segundo piso, marcos de tiempo en un viernes de noviembre de 2013, los pensamientos ya están a la deriva en la distancia.

Lo anterior citado período del año diario extremadamente artificial. En este caso, puede ser una buena cosa que el lector se pregunte, ¿esto arriba y abajo, a continuación, sus pensamientos derivaron a dónde se encuentra exactamente? Yo diría que ni Zhang Qian más allá de la frontera heroica gran pared, no como Tian Tian Wenjing cuidado flor tridimensional profundamente por medio de un acre. Sí, el joven pensaba ignoran el tema de hoy ---- rastreo de datos Ajax.

Una breve introducción Ajax

Ajax es decir, "Asynchronous JavaScript y XML" (JavaScript asíncrono y XML), se refiere a un crear interactiva, la tecnología de desarrollo web rápido de aplicaciones web dinámicas, sin tener que recargar todo el apartado técnico la página web de la página puede ser actualizada.
Mediante el intercambio de pequeñas cantidades de datos con el servidor en segundo plano, Ajax puede realizar actualizaciones de la página asíncronos. Esto significa que, para ciertas partes de la página que se actualicen sin volver a cargar la página entera.

Traducir, html framework de desarrollo web como un alquiler, que define la sala de estar, cocina y baño, pero que puso a toda costa. En este momento, la llegada de un cliente, decorada sala de estar, cocina y cuarto de baño (JavaScript). Cuando los próximos clientes pueden seguir utilizando este espacio alquilado para decorar su habitación (pantalla plana). Peticiones Ajax y transmisión de datos, y finalmente la carga web y hacer que la posición de estos datos (XHR) y el formato serán claras.

II. Programación orientada a objetos

La finalización de todo el código se basa en muchas funciones. La función de cada paquete individual es un método (también llamadas funciones), y pide que un objeto individual. El objetivo aquí no no es su objetivo, y desde luego mi objetivo 6_6. hay un beneficio obvio orientada a objetos, es muy conveniente la hora de modificación de parámetros, después de las actualizaciones de mantenimiento sólo tiene que ser manejado dentro de la función, de hecho no afecta a todo el cuerpo. Por ejemplo, el mismo elefante puso en el refrigerador: la programación orientada a los procesos requiere: (? Os corazón elefante estoy haciendo mal) Abrir el refrigerador;; en el elefante cerró la nevera. Y la programación orientada a objetos requiere: método definido apertura de un refrigerador; método de definición en elefantes; define el cierre de la puerta; un método definido en la función main (main ()) y llamar al método descrito anteriormente.
Aquí, parece que la programación orientada a objetos mucho más compleja. Sin embargo, cuando se carga un nuevo elefante cuando se cambia a, la programación orientada a los procesos será: elefante (I quiere mi nevera de pelo _ ), después del cambio, cerrar la puerta del refrigerador (la nueva definición del método de la puerta del refrigerador cerrada pelo ) y la programación orientada a objetos sólo se necesita modificar la nueva función principal dentro del elefante, un refrigerador nuevo. Este es un lugar conveniente.

III. Paso hacia

1. Escribir un paso

Después de página de la abertura Weibo, cada una mostrando una micro-Bo, volver a cargar en el menú desplegable en el extremo. Estudiar el código fuente, la información no se encuentra en el interior de html, conjetura debe ser Ajax dinámico de carga. Abrir XHR, busque la dirección de cada micro-blog. Por lo tanto, la idea probablemente salió:

  1. : Llegar a casa, análisis de JSON, encontrar cada URL dinámico.
  2. : Obtener una dinámica, JSON analítica, obtener el texto, tiempo, equipo, número de reenvío Como punto de comentario y los primeros cinco comentarios.
  3. : Almacenamiento.
    Arrastrándose página de información

2. Importe de la biblioteca, el hogar y encabezados

las solicitudes de importación en primer lugar, después de lo que necesitan para agregar relleno en la línea.

3. Definir los métodos para obtener cada URL dinámico

Aquí descubrimos un gran problema! ! ! Pensado micro-Fair con offset = '/ d' para cortar una página diferente, dejo que mis resultados en el equipo está listo, no había así que no pude encontrar completa since_id regular, en toda su longitud de manera que la dirección URL completa:

urls = ['https://m.weibo.cn/status/IvxUIvnzi?mblogid=IvxUIvnzi&luicode=10000011&lfid=1076032830678474',
    'https://m.weibo.cn/status/IyieDa0M1?mblogid=IyieDa0M1&luicode=10000011&lfid=1076032830678474',
    'https://m.weibo.cn/status/Ix2jNtRNI?mblogid=Ix2jNtRNI&luicode=10000011&lfid=1076032830678474'

Sí, todos los campos son los mismos, excepto que esta mblogid no pudo encontrar la ley.
Y luego está para Google y ctrl + encontrar RDCC encontró, que se oculta en los datos originales de cada página [ 'cardlistInfo'] [ "since_id "] a continuación. Problema resuelto.
En este momento, cada uno de los de adquisición dinámica devuelve el método de dos parámetros: since_id, list_each_page.
nodo hallazgo

10 4. La función principal dentro del bucle antes de

En primer lugar en un parámetro predeterminado (primer parámetro de un url) sence_id, para la circulación de rastreo 20, de nuevo para cada bucle de tomar una URL dinámica de la página.
mirando Identificación

5. El método definido, para obtener información de cada dinámico

La información es diversa y dispersa insoportable, este tiempo de limpieza y el formato de datos es especialmente importante! En el artículo anterior Hablando de análisis XPath biblioteca, BS4 y pyquery , no hay ninguna mención de expresiones regulares, porque es demasiado complicado. Sin embargo, volver a operar realmente cadena de arma absoluta (cadena), no se puede esperar alcanzar cualquier operación en la cadena. Por ejemplo, el texto y así sucesivamente tiempo. necesidad Mblogid a los campos de extracto donde hay agua al drenaje Chen, de esta manera:

import re
url = 'https://m.weibo.cn/status/IvxUIvnzi?mblogid=IvxUIvnzi&luicode=10000011&lfid=1076032830678474'
each_url_right = re.findall('.*mblogid=(.*?)&.*',url)

Este paso no es ningún problema. Excepto cuando la lista de análisis sintáctico diccionarios JSON cada anidados especial cuidado.

6. La principal función main () en el funcionamiento

Ejecución de prueba varias veces encontraron que habrá datos erróneos, error. Más tarde, junto con el try ... except campo para asegurar un acabado liso curso. También hay un problema todavía cree que entiende por qué después de una sola iteración de la lista después de la importación en la función url pasando dentro de la lista, no se entiende, el tipo de tiempo () toma el valor del índice y directamente después de la impresión.

7. almacenamiento CSV

Guardar para sobresalir en, pero no hay manera de almacenar el diccionario correspondiente. Así que elegir el método csv.DictWriter () en el csv.
Cada vez que la primera vez que una línea está encabezado, peor escrito, escribir un método de cabecera, un método para escribir el contenido.
La segunda vez que la línea en blanco después de los Baidu descubrimiento necesidad de abrir el archivo cuando se añade una "línea nueva = ''"
resuelto con éxito!
Los resultados muestran cómo Excel después de arrastrarse.
sobresalir

observaciones finales

Tiempo brilló por, desde el jueves 11:00 a las tres de la tarde, todos los datos en el último show en frente de la pantalla se excita, sin duda, por la noche para organizar un 'tratar los datos de rastreo con AJAX microblogueo .md' a cabo, ser considerado como el intercambio de personal poca experiencia y el conocimiento. El último espectáculo en el código fuente.
fuente

Liberadas dos artículos originales · ganado elogios 8 · visitas 799

Supongo que te gusta

Origin blog.csdn.net/m0_46683744/article/details/105279784
Recomendado
Clasificación