Debido a que el proyecto del curso requiere el uso del rastreador CNKI, encontré el almacén de descargas CNKI de CyrusRenty después de buscar en GitHub, pero después de clonarlo, descubrí que no era utilizable, así que lo modifiqué, excepto para descargar documentos y funciones de código de verificación. el resto Las pruebas funcionales están disponibles.
Debido a que solo acceder a la red del campus no puede hacer que Zhiwang identifique la escuela (debe pasar por la VPN de otra escuela), no puedo usar o(╥﹏╥)o para descargar la función del documento, por lo que no puedo modificarla. No he encontrado códigos de verificación. Intentar garantizar un intervalo suficiente al rastrear cada página debería poder evitar este problema.
PD: Para problemas como NoneType, los ignoré con un intento de captura crudo. Por lo tanto, si ve que no hay datos en una determinada fila de Excel después de completar el rastreo, simplemente elimínelo como ruido ~ Si. Necesitas urgentemente todos los campos completos. Presenta un problema y veré si puedo ayudarte.
PD: A veces se puede informar el siguiente error al ejecutar el rastreador:
En este caso, apague la VPN proxy global, ingrese la dirección CNKI en el navegador para ver si puede ingresar normalmente y luego intente ejecutar el programa una y otra vez.
Si tiene alguna pregunta sobre este proyecto, puede plantear un problema directamente. ¡Espero poder ayudarlo lo mejor que pueda! Si tiene un mejor código para incorporar, ¡Feichang le da la bienvenida a las relaciones públicas!
El siguiente contenido está tomado del autor original y rindo homenaje al autor original∠(°ゝ°)
El proyecto es un rastreador implementado en base a Python3 para rastrear datos CNKI. Se puede buscar según la búsqueda avanzada de CNKI y proporciona funciones de rastreo de información detallada, como información básica de documentos, descargas de documentos y resúmenes de documentos.
El proceso de implementación se puede ver en mi blog.
El programa se ejecuta de la siguiente manera:
La tabla de Excel con información detallada es la siguiente:
Descargue caj de la siguiente manera:
La captura de datos mediante el envío de paquetes de análisis tiene un rendimiento ligeramente mayor que el uso de selenio y otros métodos.
Puede utilizar la función de búsqueda avanzada de CNKI para buscar y recuperar documentos de manera más eficiente.
La función de capturar información detallada y descargar documentos caj se puede activar selectivamente según la situación anti-rastreador de la red y CNKI.
Utilice tablas de Excel para ver rápidamente los resúmenes de literatura requeridos y otra información. Puede descargar selectivamente de acuerdo con los enlaces de descarga proporcionados por Excel para evitar que la red CNKI se rastree de manera inversa debido a una descarga excesiva.
tesserocr
se utiliza en la parte de procesamiento del código de verificación, pero el efecto de verificación no es muy bueno en la actualidad, por lo que la identificación manual del código de verificación está habilitada de forma predeterminada.Si
tesseract
no está instalado localmente, puede instalarlo primero y luego ejecutarpip install tesserocr
. O comente las líneas 15, 63 y 64 del archivoCrackVerifyCode.py
y luego ejecute el comando de instalación.
instalación de pip -r requisitos.txt
# Config.ini es el archivo de configuración del proyecto # 0 está cerrado 1 está abierto isDownloadFile = 1 # Si se descarga el archivo isCrackCode=0 # Si se reconoce automáticamente el código de verificación isDetailPage=0 # Si se guardan los detalles del documento en excelisDownLoadLink # Si para guardar el enlace de descarga en Excel stepWaitTime=5 # Tiempo de pausa para cada descarga y página de detalles de rastreo
Se recomienda no abrir las páginas de descarga y de detalles de rastreo al mismo tiempo, y el tiempo de pausa no debe ser inferior a 3 segundos.
Python ejecutar-spider.py
Una vez que el rastreador termine de ejecutarse, todos los datos se guardarán en la carpeta de datos. La carpeta de datos anterior se eliminará automáticamente cada vez que se vuelva a ejecutar el programa.
CNKI_download -- data 存放所有爬取数据 -- CAJs 存放所有下载的caj原文 -- xxxxxxx.caj -- xxxxxxx.caj -- Links.txt 所有爬取文献的下载链接 -- ReferenceList.txt 爬取文献简要信息 -- Reference_detail.xls 文献详细信息excel表
La premisa para que se ejecute el proyecto es que la computadora pueda acceder a CNKI a través de IP y descargarlo (la mayoría de las escuelas han comprado bases de datos). Cuando estaba a punto de terminar de escribir, descubrí que todavía hay una interfaz de salto y el acceso a la red pública será. agregarse en el futuro.
Si aparece "acceso denegado por el host remoto", puede alargar adecuadamente el tiempo de pausa para cada sesión.
Si lo ejecuta una vez, recuerde cerrar todos los archivos en la carpeta de datos antes de ejecutarlo nuevamente; de lo contrario, se puede informar un error porque la carpeta de datos no se puede eliminar.
Si solo rastrea información sin descargarla, puede ingresar repetidamente el código de verificación (incluso si lo ingresa correctamente) después de ejecutar alrededor de 1000 documentos. Aún no se sabe cuál es el motivo
Complete otras funciones no implementadas para búsquedas avanzadas.
Agregue la información de la página de inicio de rastreo especificada para rastrear nuevamente desde el último error.
Agregue un salto de red pública a la interfaz CNKI para garantizar que los usuarios que no pueden iniciar sesión a través de IP aún puedan usar este rastreador.
Cree un grupo de proxy para implementar el acceso IP proxy basado en saltos de la red pública, reduciendo la cantidad de direcciones IP bloqueadas por CNKI y la cantidad de entradas de códigos de verificación.
Redactar registros de procesos de implementación y análisis de programas.