Utilice pyspider para obtener datos novedosos del sitio web chino Qidian
pyspider es un marco de rastreo muy fácil de usar desarrollado por chinos. Aunque no hay muchos tutoriales en línea, la documentación es detallada y la operación es simple. Es muy adecuado para ejercicios de rastreo o para satisfacer algunas necesidades de rastreo de datos.
Este artículo tiene como objetivo capturar la información básica de las obras novedosas en la red de novelas chinas Qidian y explica cómo utilizar el marco pyspider para recopilar datos.
En cuanto a por qué se elige a Qidian como objetivo, en primer lugar, como amante de la literatura de Internet, el autor también quiere recopilar información sobre las novelas de Qidian y encontrar algunas novelas populares para leer, en segundo lugar, como una persona relativamente madura; Sitio web novedoso, Qidian. Debería haber estrategias correspondientes para los rastreadores, solo practique cómo los rastreadores pueden evitar estas estrategias.
Antes de leer este artículo, se recomienda leer el tutorial en chino escrito por el autor del documento y el marco.
Tutorial del rastreador Pyspider (1): selectores de HTML y CSS p>
tutorial del rastreador pyspider (2): AJAX y HTTP
tutorial del rastreador pyspider (3): use PhantomJS para renderizar páginas con JS
La instalación es muy simple. pip ya está instalado, ejecútelo directamente Comando
Dado que muchos sitios web actualmente generan páginas js dinámicas, debe instalar PhantomJS para obtener la página después de la ejecución de js, en lugar de la página html estática original.
Espere una vez completada la instalación, primero echemos un vistazo al comando ejecutable correspondiente a pyspider.
Aquí ejecutamos directamente el siguiente comando para comenzar. Para comandos más complejos, consulte. al documento
Primero, eche un vistazo al inicio exitoso. La interfaz para que el navegador acceda a la dirección 127.0.0.1:5000 es la siguiente
Haga clic en Crear para crear una nueva. proyecto
Haga clic en el nombre del proyecto generado para ingresar a la página de escritura y depuración del script
Echemos un vistazo primero al script del rastreador correspondiente
1. Al realizar la prueba el rastreo, después de ejecutarse durante un período de tiempo, aparece un mensaje de error FetchError para todos los enlaces de rastreo y el rastreo falla
Motivo del error: no se ha configurado el agente de usuario y la velocidad de rastreo es demasiado rápida, lo que provoca la IP que se bloqueará
Solución:
1) Establezca User-Agent y ajuste la tasa de 1->0,7
2) Utilice IP proxy para evitar siendo prohibido Aquí intenté crear un grupo de IP de proxy gratuito simple, pero como la mayoría de los servidores proxy gratuitos no están disponibles, lo que provocará un rastreo inestable, decidí dejar de usarlo
2. El autor lo planeó originalmente. Sin embargo, debido a que esta parte es generada dinámicamente por JS, aunque el uso de phantomjs puede resolver este problema (consulte el tutorial 3 del autor para obtener más detalles), el uso de phantomjs conducirá a un nivel bajo. Eficiencia de rastreo Más tarde, elegí usar el método de fijar el número de la primera y la última página (PAGE_START, PAGE_END)
3. Cuando uso el selector CSS para tener múltiples datos, cómo obtener lo que desea.
Por ejemplo, en la página de detalles de la novela, hay tres palabras, número de clics y número de recomendaciones.
Los selectores CSS son todos .book-info > p > em. Para obtener el número correspondiente, simplemente puede usar el método .eq(index) de pyquery para obtener los datos de texto correspondientes
4. Si el enlace rastreado es https en lugar de http, use self.crawl(). método, debe agregar el parámetro validar_cert =False y debe asegurarse de que la versión de pyspider --version sea superior a 0.3.6.0
Para soluciones específicas, puede consultar el siguiente enlace:
PySpider HTTP 599: Solución SSL al error del problema del certificado
Análisis de datos simple parte 2
Utilice la segmentación de palabras chinas SCWS para realizar estadísticas de segmentación de palabras en los nombres de todas las obras , y obtener el ranking con mayor frecuencia de ocurrencia
Parece que si escribes una novela, ¿sería escandaloso darle un título como "El renacimiento de mi extraño mundo de dioses y demonios"? p>
Análisis de datos simple, parte 3
Un breve resumen de los autores iniciales Ordenar por número de obras
Las obras maestras de artes marciales deben ser el número de autor oficial de Qidian, de lo contrario, 194 obras darían demasiado miedo
También encontramos muchos maestros familiares, como el tercer joven maestro de la familia Tang, sapos errantes, elfos esqueléticos, etc., todavía se pueden ver algunas obras