Поскольку проект курса требует использования сканера CNKI, я нашел хранилище загрузки CNKI CyrusRenty после поиска на GitHub, но после его клонирования я обнаружил, что его невозможно использовать, поэтому я изменил его, за исключением функций загрузки документов и кода проверки. остальное Функциональное тестирование доступно.
Поскольку только доступ к сети кампуса не может заставить Чживана идентифицировать школу (он должен пройти через VPN другой школы), я не могу использовать o(╥﹏╥)o для загрузки функции документа, поэтому я не могу ее изменить. Я не встречал кодов подтверждения. Попытка обеспечить достаточный интервал при сканировании каждой страницы позволит избежать этой проблемы.
PS: Такие проблемы, как NoneType, я проигнорировал грубой попыткой. Поэтому, если вы видите, что в определенной строке Excel после завершения сканирования нет данных, просто удалите их как шум ~ Если. вам срочно нужны все заполненные поля. Сообщите о проблеме, и я посмотрю, смогу ли я помочь.
PS: Иногда при запуске сканера может возникнуть следующая ошибка:
В этом случае отключите глобальный прокси-VPN, введите адрес CNKI в браузере, чтобы проверить, сможете ли вы войти нормально, а затем попробуйте запустить программу снова и снова.
Если у вас есть какие-либо вопросы по этому проекту, вы можете задать их напрямую. Надеюсь, я смогу помочь вам, насколько смогу! Если у вас есть код получше, Фейчан приветствует пиар!
Следующий контент взят от оригинального автора, и я отдаю должное оригинальному автору∠(°ゝ°)
Проект представляет собой сканер, реализованный на основе Python3 для сканирования данных CNKI. Его можно искать в соответствии с расширенным поиском CNKI, и он предоставляет функции сканирования подробной информации, такие как основная информация о документе, загрузка документов и рефераты документов.
Процесс реализации можно посмотреть в моем блоге
Программа работает следующим образом:
Подробная таблица Excel с информацией выглядит следующим образом:
Загрузите caj следующим образом:
Захват данных путем отправки пакетов синтаксического анализа имеет немного более высокую производительность, чем использование селена и других методов.
Вы можете использовать функцию расширенного поиска CNKI для более эффективного поиска и получения документов.
Функцию сбора подробной информации и загрузки документов Caj можно выборочно включать в зависимости от ситуации с защитой от сканирования в сети и CNKI.
Используйте таблицы Excel для быстрого просмотра необходимых рефератов литературы и другой информации. Вы можете выборочно загружать их по ссылкам для скачивания, предоставленным Excel, чтобы предотвратить обратное сканирование сети CNKI из-за чрезмерной загрузки.
tesserocr
используется в части обработки проверочного кода, но эффект проверки в настоящее время не очень хорош, поэтому ручная идентификация проверочных кодов включена по умолчанию.Если
tesseract
не установлен локально, вы можете сначала установить его, а затем выполнитьpip install tesserocr
. Или закомментируйте строки 15, 63 и 64 файлаCrackVerifyCode.py
и затем выполните команду установки.
pip install -r требования.txt
# Config.ini — это файл конфигурации проекта # 0 закрыт 1 открыт isDownloadFile = 1 # Нужно ли загружать файл isCrackCode=0 # Нужно ли автоматически распознавать код проверки isDetailPage=0 # Сохранять ли сведения о документе в excelisDownLoadLink # Нужно ли чтобы сохранить ссылку для скачивания в Excel, StepWaitTime=5 # Время паузы для каждой страницы сведений о загрузке и сканировании
Рекомендуется не открывать страницы сведений о загрузке и сканировании одновременно, а время паузы не должно быть менее 3 секунд.
python run-spider.py
После завершения работы сканера все данные будут сохранены в папке данных. Старая папка данных будет автоматически удаляться при каждом повторном запуске программы.
CNKI_download -- data 存放所有爬取数据 -- CAJs 存放所有下载的caj原文 -- xxxxxxx.caj -- xxxxxxx.caj -- Links.txt 所有爬取文献的下载链接 -- ReferenceList.txt 爬取文献简要信息 -- Reference_detail.xls 文献详细信息excel表
Предпосылкой для запуска проекта является то, что компьютер может получить доступ к CNKI через IP и загрузить его (большинство школ приобрели базы данных). Когда я собирался закончить писать, я обнаружил, что все еще существует переходный интерфейс, и будет доступен доступ к общедоступной сети. быть добавлено в будущем.
Если появляется сообщение «Доступ запрещен удаленным хостом», вы можете соответствующим образом увеличить время паузы для каждого сеанса.
Если вы запустите его один раз, не забудьте закрыть все файлы в папке данных перед повторным запуском, иначе может появиться сообщение об ошибке, поскольку папку данных невозможно удалить.
Если вы только сканируете информацию, не загружая ее, вы можете повторно ввести проверочный код (даже если он введен правильно) после запуска около 1000 документов. Пока неизвестно, в чем причина
Дополните другие нереализованные функции для расширенного поиска.
Добавьте указанную информацию о странице начала сканирования для повторного сканирования после последней ошибки.
Добавьте переход в общедоступную сеть к интерфейсу CNKI, чтобы гарантировать, что пользователи, которые не могут войти в систему через IP, смогут использовать этот сканер.
Создайте пул прокси-серверов для реализации IP-доступа через прокси-сервер на основе переходов в общедоступную сеть, уменьшив количество IP-адресов, заблокированных CNKI, и количество вводимых кодов проверки.
Напишите записи процесса реализации и анализа программы.