知网文献批量下载指南:CNKI-download 三步跑通的爬虫工具
【免费下载链接】CNKI-download:frog: 知网(CNKI)文献下载及文献速览爬虫 (Web Scraper for Extracting Data)项目地址: https://gitcode.com/gh_mirrors/cn/CNKI-download
CNKI-download 是一个用 Python 写的知网文献下载爬虫。它能调用知网高级检索,把检索结果里的元数据自动整理成 Excel,还可以批量下载 CAJ 原文。适合需要一次性收集几十上百篇知网文献的研究生和科研人员,把逐篇点开、复制、保存的重复劳动省掉。
30秒看懂它干什么
假设你要收集"机器学习 + 医疗诊断"方向的期刊文献,用这个工具的流程是:
- 运行
main.py,在终端里选择"主题"字段,输入检索词 - 程序替你完成知网高级检索的两次握手请求,返回结果并估算总耗时
- 你确认数量后,它自动翻页、逐篇写出简要信息
- 开启详情模式后,摘要、作者、单位、关键词、来源、发表时间被写进 Excel
- 开启下载模式后,CAJ 原文存进
data/CAJs文件夹
手动做的话,一篇文献点开、复制、保存大约要 5 分钟;这里只需要设置一次,让它自己跑。
🚀 三步跑起来
第 1 步:装依赖
git clone https://gitcode.com/gh_mirrors/cn/CNKI-download cd CNKI-download pip install -r requirements.txt如果系统没装 tesseract OCR 引擎,先安装 tesseract 再执行 pip 命令;或者把CrackVerifyCode.py中 tesserocr 相关两行注释掉,反正默认走手动输入验证码。
第 2 步:改两处配置
打开根目录的Config.ini,新手只需要动两个值:
isDetailPage=1 ; 开启详情存 Excel,这是核心价值 stepWaitTime=5 ; 每次操作间隔 5 秒,防止被限流第 3 步:运行
python main.py程序按提示依次让你选检索字段、输入关键词、确认数量,然后开始爬取。
⚙️ 关键配置怎么选
配置集中在 Config.ini 的[crawl]段,全部是 0/1 开关加一个秒数。最常用的是这 5 个:
| 参数 | 含义 | 建议值 | 为什么这么设 |
|---|---|---|---|
isDownloadFile | 是否下载 CAJ 原文 | 新手先设 0 | 先拿信息、Excel 里筛完再下,省流量也省时间 |
isDetailPage | 是否把详情写入 Excel | 1 | 摘要、作者、来源都在这里,不导 Excel 就只剩标题列表 |
isCrackCode | 是否自动识别验证码 | 0 | OCR 识别率一般,手动输入 100% 准确 |
isDownLoadLink | 是否在 Excel 加一列下载链接 | 1 | 筛选出重点文献后可按链接单独下载 |
stepWaitTime | 每次操作间隔秒数 | 5,最低 3 | 间隔太短会触发"远程主机拒绝了访问" |
一条官方提醒值得记:下载原文和抓详情页尽量不要同时开启,请求量叠加最容易触发反爬。
📋 跟做一次真实任务
场景:开题前收集"机器学习 医疗诊断"相关期刊文献 100 篇。
- 配置设为:
isDownloadFile=0、isDetailPage=1、isDownLoadLink=1、stepWaitTime=5 - 运行
python main.py,选择检索字段时输入a(主题) - 提示输入主题时填:
机器学习 医疗诊断 - 是否规定文献来源,输入
n - 程序输出检索结果,类似:
检索到1234条结果,全部下载大约需要00小时16分55秒。 是否要全部下载(y/n)?- 输入
n,再输入100(不满一页会按整页 20 篇处理) - 运行中若弹出验证码,程序会把图片存到
data/crack_code.jpeg并提示输入,照着打进去即可 - 结束后查看
data目录:
data/ ├── Links.txt # 每篇文献的下载链接 ├── ReferenceList.txt # 简要信息列表 └── Reference_detail.xls # 含摘要的详情表Excel 里按"序号、题名、作者、单位、关键字、摘要、来源、发表时间、数据库、下载地址"排好列,直接用筛选功能挑出高相关文献,或导入 EndNote、Zotero。
⚠️ 踩坑与应对
Q1:报"远程主机拒绝了访问"?把stepWaitTime从 5 调到 8~10,给服务器留足响应时间。
Q2:验证码反复要求输入,即使输对了?只爬信息不下载时,爬到 1000 条左右可能出现这个已知问题。对策是分批运行,单次数量控制在几百条以内。
Q3:第二次运行报 data 文件夹无法删除?程序每次启动会清空重建data目录,先关掉里面所有已打开的文件(尤其是 Excel)再运行。
Q4:公网环境跑不通?该工具假设你的 IP 能直接访问知网,校园网或单位已购数据库的网络下最稳;公网访问是 README 里列出的待完成项,尚未实现。
Q5:pip 安装时 tesserocr 报错?先装 tesseract 引擎再 pip install;用不到 OCR 的话,直接注释CrackVerifyCode.py里 tesserocr 的两行代码,保留手动验证码模式。
📌 边界与提醒
这个工具适合个人学习和研究场景:用它整理检索结果、筛选文献,比手工快几个数量级,但下载量请控制在合理范围,遵守知网的版权条款,不要用于商业分发。另外注意data目录每次运行会被清空,需要保留的结果请及时拷出或备份。整体实现就是一个"发请求包 + 正则解析"的爬虫,几个 Python 文件各自负责检索、验证码、详情解析,想看细节直接读源码即可。
【免费下载链接】CNKI-download:frog: 知网(CNKI)文献下载及文献速览爬虫 (Web Scraper for Extracting Data)项目地址: https://gitcode.com/gh_mirrors/cn/CNKI-download
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考