Como o projeto do curso requer o uso do rastreador CNKI, encontrei o armazém de download do CNKI da CyrusRenty depois de pesquisar no GitHub, mas depois de cloná-lo, descobri que não era utilizável, então modifiquei-o, exceto para baixar documentos e funções de código de verificação. o restante, testes funcionais estão disponíveis.
Como apenas o acesso à rede do campus não pode fazer com que Zhiwang identifique a escola (ela precisa passar pela VPN de outra escola), não posso usar o(╥﹏╥)o para baixar a função do documento, portanto não posso modificá-la. Não encontrei códigos de verificação. Tentar garantir intervalo suficiente ao rastrear cada página deve evitar esse problema.
PS: Para problemas como NoneType, eu os ignorei com um try catch bruto. Portanto, se você perceber que não há dados em uma determinada linha do Excel na linha do Excel após a conclusão do rastreamento, apenas exclua-os como ruído ~ If. você precisa urgentemente de todos os campos completos, registre um problema e verei se posso ajudar.
PS: Às vezes, o seguinte erro pode ser relatado ao executar o rastreador:
Nesse caso, desligue o proxy VPN global, digite o endereço CNKI no navegador para ver se consegue entrar normalmente e tente executar o programa novamente e novamente.
Se você tiver alguma dúvida sobre este projeto, pode levantar uma questão diretamente. Espero poder ajudá-lo da melhor maneira possível! Se você tiver um código melhor para incorporar, Feichang dá as boas-vindas às relações públicas!
O conteúdo a seguir foi retirado do autor original e presto homenagem ao autor original∠(°ゝ°)
O projeto é um rastreador implementado com base em Python3 para rastrear dados CNKI. Ele pode ser pesquisado de acordo com a pesquisa avançada CNKI e fornece funções detalhadas de rastreamento de informações, como informações básicas de documentos, downloads de documentos e resumos de documentos.
O processo de implementação pode ser visto no meu blog
O programa funciona da seguinte forma:
A tabela Excel com informações detalhadas é a seguinte:
Baixe caj da seguinte maneira:
A captura de dados enviando pacotes de análise tem desempenho ligeiramente superior ao uso de Selenium e outros métodos.
Você pode usar a função de pesquisa avançada do CNKI para pesquisar e recuperar documentos com mais eficiência.
A função de captura de informações detalhadas e download de documentos caj pode ser ativada seletivamente de acordo com a situação anti-crawler da rede e do CNKI.
Use tabelas do Excel para visualizar rapidamente os resumos da literatura necessária e outras informações. Você pode fazer download seletivamente de acordo com os links de download fornecidos pelo Excel para evitar que a rede CNKI seja rastreada reversamente devido ao download excessivo.
tesserocr
é usado na parte de processamento do código de verificação, mas o efeito de verificação não é muito bom no momento, então a identificação manual do código de verificação é habilitada por padrão.Se
tesseract
não estiver instalado localmente, você poderá instalá-lo primeiro e depois executarpip install tesserocr
. Ou comente as linhas 15, 63 e 64 do arquivoCrackVerifyCode.py
e execute o comando de instalação.
pip instalar -r requisitos.txt
# Config.ini é o arquivo de configuração do projeto # 0 está fechado 1 está aberto isDownloadFile = 1 # Se deve baixar o arquivo isCrackCode=0 # Se deve reconhecer automaticamente o código de verificação isDetailPage=0 # Se deve salvar os detalhes do documento no excelisDownLoadLink # Se deve para salvar o link de download no Excel stepWaitTime=5 # Tempo de pausa para cada página de detalhes de download e rastreamento
Recomenda-se não abrir as páginas de detalhes de download e rastreamento ao mesmo tempo, e o tempo de pausa não deve ser inferior a 3 segundos.
python run-spider.py
Após a execução do rastreador, todos os dados serão salvos na pasta de dados. A pasta de dados antiga será excluída automaticamente sempre que o programa for executado novamente.
CNKI_download -- data 存放所有爬取数据 -- CAJs 存放所有下载的caj原文 -- xxxxxxx.caj -- xxxxxxx.caj -- Links.txt 所有爬取文献的下载链接 -- ReferenceList.txt 爬取文献简要信息 -- Reference_detail.xls 文献详细信息excel表
A premissa para o projeto funcionar é que o computador possa acessar o CNKI via IP e baixá-lo (a maioria das escolas comprou bancos de dados, quando eu estava prestes a terminar de escrever, descobri que ainda existe uma interface de salto e o acesso à rede pública será). ser adicionado no futuro.
Se aparecer "acesso negado pelo host remoto", você poderá prolongar adequadamente o tempo de pausa para cada sessão.
Se você executá-lo uma vez, lembre-se de fechar todos os arquivos na pasta de dados antes de executá-lo novamente, caso contrário, um erro poderá ser relatado porque a pasta de dados não pode ser excluída.
Se você apenas rastrear informações sem baixá-las, poderá inserir repetidamente o código de verificação (mesmo que tenha sido inserido corretamente) após executar cerca de 1.000 documentos. Ainda não se sabe qual o motivo
Complete outras funcionalidades não implementadas para pesquisas avançadas.
Adicione as informações especificadas da página inicial de rastreamento para rastrear novamente a partir do último erro.
Adicione um salto de rede pública à interface CNKI para garantir que os usuários que não conseguem fazer login via IP ainda possam usar esse rastreador.
Crie um pool de proxy para implementar o acesso IP proxy com base em saltos de rede pública, reduzindo o número de endereços IP bloqueados pelo CNKI e o número de entradas de código de verificação.
Escreva registros do processo de implementação e análise do programa.