这个脚本能做什么
在 国家自然科学基金大数据知识管理服务门户(kd.nsfc.cn)看结题报告时,官网只能一页一页翻着看,没法整份保存。
装上这个脚本后,你自己完成官网的滑块验证,再点一下按钮,脚本会自动翻页,把报告全部页面合成一个 PDF,保存到电脑的「下载」文件夹。几十页的报告大约 1 分钟。
使用前准备(只需一次)
- 安装脚本管理器:Tampermonkey(油猴) 或 脚本猫扩展都可以
- ⚠️ 新版 Chrome / Edge 需要打开权限:浏览器地址栏输入
chrome://extensions(Edge 是 edge://extensions)→ 找到 Tampermonkey →「详细信息」→ 打开 「允许运行用户脚本」(旧版浏览器没有这个开关的,打开右上角「开发者模式」即可)
- 点本页的「安装脚本」按钮
使用步骤
- 打开任意一个结题项目页面,例如
https://kd.nsfc.cn/finalDetails?id=...,右下角会出现「结题报告 → PDF」面板
- 点官网的 「查看报告」,自己拖动滑块完成验证,看到报告第一页
- 点面板上的 「下载全部页为 PDF」,等待完成即可
文件名会自动用「批准号_项目名称.pdf」。
常见问题
Q:右下角没有出现面板?
A:多半是没打开「允许运行用户脚本」,见上面准备第 2 步。打开后刷新官网页面。
Q:提示「还没看到官网加载报告」?
A:需要先在官网点「查看报告」并完成滑块验证、看到第一页后,再点下载按钮。如果刚安装或更新过脚本,先刷新页面再验证一次。
Q:提示「官网繁忙」?
A:短时间内请求太多被官网限流了,脚本会自动等待重试;如果还是不行,过几分钟再试。请不要连续大量下载。
Q:会不会绕过验证码?
A:不会。验证码必须你本人完成。脚本只是在你验证通过后,代替你重复点击「下一页」并把每页保存下来,和你在官网手动翻页是同样的请求;每页之间间隔 1 秒,遇到官网繁忙会自动停下等待。
工作原理与权限说明
为了方便审核和使用者放心,这里说明脚本具体做了什么:
- 运行范围:只在
https://kd.nsfc.cn/finalDetails*(国自然结题项目详情页)运行,其他网站完全不运行。
- 网络访问:只访问国自然官网
kd.nsfc.cn(@connect kd.nsfc.cn),用来读取报告每一页的图片。不会把任何数据发送到其他服务器,没有统计、追踪或上传功能。
- 外部库:仅通过
@require 引入开源 PDF 生成库 jsPDF 2.5.2(cdn.jsdelivr.net,带 sha256 校验)。
- 页面请求监听:脚本会在页面中监听官网自己发出的「结题报告」请求(
completeProjectReport)。你完成滑块验证、官网显示第一页后,脚本记下这次请求的地址和请求头,然后只把页码换掉,依次请求后续页面——和你在官网点「下一页」是同一种请求。脚本不读取、不保存你的 Cookie、账号等任何个人信息。
- 验证码:脚本不会识别或代替你完成滑块验证,必须你本人在官网完成。
- 频率控制:每页之间间隔 1 秒;官网返回繁忙(503/429)时自动等待 5/15/30 秒后重试,仍然繁忙就停止,不会持续请求。
- 生成 PDF:全部在你自己的浏览器里完成,直接保存到本机「下载」文件夹。
说明与免责声明
- 本脚本为个人开发的免费开源工具,与国家自然科学基金委员会无任何关系,不是官方工具。
- 仅供个人学习、查阅使用。结题报告版权归项目负责人及依托单位所有,报告中含有个人信息(如联系方式),请勿传播、转载或用于任何商业用途。
- 请遵守官网的相关规定,合理使用,不要高频、大量下载。
- 官网改版可能导致脚本暂时失效,我会尽量及时更新(已安装的用户会自动更新)。
- 因使用本脚本产生的任何后果由使用者自行承担。
更新日志