Parce que le projet de cours nécessite l'utilisation du robot d'exploration CNKI, j'ai trouvé l'entrepôt de téléchargement CNKI de CyrusRenty après une recherche sur GitHub, mais après l'avoir cloné, j'ai trouvé qu'il n'était pas utilisable, donc je l'ai modifié Sauf pour le téléchargement de documents et les fonctions de code de vérification, le reste des tests fonctionnels est disponible.
Parce que le seul accès au réseau du campus ne peut pas permettre à Zhiwang d'identifier l'école (il doit passer par le VPN d'une autre école), je ne peux pas utiliser o(╥﹏╥)o pour télécharger la fonction de document, donc je ne peux pas la modifier. Je n'ai pas rencontré de codes de vérification. Essayer de garantir un intervalle suffisant lors de l'exploration de chaque page devrait permettre d'éviter ce problème.
PS : pour des problèmes tels que NoneType, je les ai ignorés avec un essai brut. Par conséquent, si vous voyez qu'il n'y a aucune donnée dans une certaine ligne d'Excel dans la ligne Excel une fois l'exploration terminée, supprimez-la simplement en tant que bruit ~ Si. vous avez besoin de toute urgence de tous les champs remplis, déposez un problème et je verrai si je peux vous aider.
PS : Parfois, l'erreur suivante peut être signalée lors de l'exécution du robot :
Dans ce cas, veuillez désactiver le VPN proxy global, entrez l'adresse CNKI dans le navigateur pour voir si vous pouvez entrer normalement, puis essayez d'exécuter le programme encore et encore.
Si vous avez des questions sur ce projet, vous pouvez soulever un problème directement. J'espère pouvoir vous aider au mieux de mes capacités ! Si vous avez un meilleur code à incorporer, Feichang accueille les relations publiques !
Le contenu suivant est tiré de l'auteur original, et je rends hommage à l'auteur original∠(°ゝ°)
Le projet est un robot d'exploration implémenté sur la base de Python3 pour explorer les données CNKI. Il peut être recherché selon la recherche avancée CNKI et fournit des fonctions d'exploration d'informations détaillées telles que des informations de base sur les documents, des téléchargements de documents et des résumés de documents.
Le processus de mise en œuvre peut être consulté sur mon blog
Le programme se déroule comme suit :
Le tableau Excel des informations détaillées est le suivant :
Téléchargez caj comme suit :
La capture de données en envoyant des paquets d'analyse offre des performances légèrement supérieures à celles utilisant le sélénium et d'autres méthodes.
Vous pouvez utiliser la fonction de recherche avancée de CNKI pour rechercher et récupérer des documents plus efficacement.
La fonction de capture d'informations détaillées et de téléchargement de documents Caj peut être activée de manière sélective en fonction de la situation anti-crawler du réseau et de CNKI.
Utilisez des tableaux Excel pour afficher rapidement les résumés de littérature requis et d'autres informations. Vous pouvez télécharger de manière sélective en fonction des liens de téléchargement fournis par Excel pour éviter que le réseau CNKI ne soit analysé à rebours en raison d'un téléchargement excessif.
tesserocr
est utilisé dans la partie traitement du code de vérification, mais l'effet de vérification n'est pas très bon pour le moment, donc l'identification manuelle des codes de vérification est activée par défaut.Si
tesseract
n'est pas installé localement, vous pouvez d'abord l'installer, puis exécuterpip install tesserocr
. Ou commentez les lignes 15, 63 et 64 du fichierCrackVerifyCode.py
, puis exécutez la commande d'installation.
pip install -r exigences.txt
# Config.ini est le fichier de configuration du projet # 0 est fermé 1 est ouvert isDownloadFile = 1 # S'il faut télécharger le fichier isCrackCode=0 # S'il faut reconnaître automatiquement le code de vérification isDetailPage=0 # S'il faut enregistrer les détails du document dans ExcelisDownLoadLink # S'il faut pour enregistrer le lien de téléchargement dans Excel stepWaitTime=5 # Temps de pause pour chaque page de détails de téléchargement et d'exploration
Il est recommandé de ne pas ouvrir les pages de détails de téléchargement et d'exploration en même temps, et le temps de pause ne doit pas être inférieur à 3 secondes.
python run-spider.py
Une fois l'exécution du robot terminée, toutes les données seront enregistrées dans le dossier de données. L'ancien dossier de données sera automatiquement supprimé à chaque réexécution du programme.
CNKI_download -- data 存放所有爬取数据 -- CAJs 存放所有下载的caj原文 -- xxxxxxx.caj -- xxxxxxx.caj -- Links.txt 所有爬取文献的下载链接 -- ReferenceList.txt 爬取文献简要信息 -- Reference_detail.xls 文献详细信息excel表
Le principe du projet est que l'ordinateur peut accéder à CNKI via IP et le télécharger (la plupart des écoles ont acheté des bases de données). Quand j'étais sur le point de finir d'écrire, j'ai découvert qu'il existait toujours une interface de saut et que l'accès au réseau public le serait. être ajouté à l'avenir.
Si « accès refusé par l'hôte distant » apparaît, vous pouvez prolonger de manière appropriée le temps de pause pour chaque session.
Si vous l'exécutez une fois, n'oubliez pas de fermer tous les fichiers du dossier de données avant de l'exécuter à nouveau, sinon une erreur pourrait être signalée car le dossier de données ne peut pas être supprimé.
Si vous explorez uniquement les informations sans les télécharger, vous pouvez saisir le code de vérification à plusieurs reprises (même s'il est saisi correctement) après avoir exécuté environ 1 000 documents. On ne sait pas encore quelle en est la raison
Complétez d’autres fonctionnalités non implémentées pour les recherches avancées.
Ajoutez les informations spécifiées sur la page de démarrage de l'exploration pour effectuer une nouvelle analyse à partir de la dernière erreur.
Ajoutez un saut de réseau public à l'interface CNKI pour garantir que les utilisateurs qui ne peuvent pas se connecter via IP peuvent toujours utiliser ce robot.
Créez un pool de proxy pour mettre en œuvre un accès IP proxy basé sur des sauts de réseau public, réduisant ainsi le nombre d'adresses IP bloquées par CNKI et le nombre d'entrées de code de vérification.
Rédiger les enregistrements du processus de mise en œuvre et d'analyse du programme.