KO
|
EN
gitlite — search
Search
#javascript
#python
#hacktoberfest
#react
#ai
#typescript
#llm
#go
#golang
#android
#machine-learning
#rust
#deep-learning
#linux
nsfc-report-downloader
★ 9
Open GitHub ↗
No description available.
Download README (.md)
Explore Similar Repositories
goals
:
No description available.
ApplyRight-AI
:
No description available.
NL2DSL2SQL
:
大模型自然语言生成语义层DSL再生成最终SQL语句
tasksfi
:
No description available.
q-code
:
基于 AI SDK 的命令行 Agent 框架,支持工具调用、Plan Mode、Task V2 持久化任务图、上下文自动压缩、会话持久化、跨对话项目记忆、Skills 渐进式披露、后台 SubAgent、Worktree 隔离、Agent Teams 多智能体协作和 MCP 扩展。
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
nsfc-report-downloader
?
Download (.md)
# NSFC Report Downloader:一句话下载国家基金结题报告 > 给科研人用的一个小工具:输入关键词、项目详情页 URL 或项目 ID,自动从国家自然科学基金大数据知识管理服务门户下载公开结题报告页图,并合并成 PDF。 --- ## 为什么做这个项目? 很多国家基金结题/成果报告在网页里不是普通 PDF,而是一页一页的图片阅读器。 如果手动下载,通常要经历: 1. 搜索关键词; 2. 点进项目详情; 3. 打开“在线阅读”; 4. 一页一页翻; 5. 截图、保存、排序; 6. 再合并成 PDF。 这个流程不难,但非常耗时间,也很容易漏页。 所以我把它整理成了一个 Codex skill 和可独立运行的 Python 脚本。以后只需要一句话,或者一行命令,就能把公开的结题报告整理成可保存、可检索、可归档的 PDF。 --- ## 它能做什么? 这个项目支持三种常见入口: - **关键词检索**:例如“榛子”“果实成熟”“核桃”等; - **项目详情页 URL**:例如 `https://kd.nsfc.cn/finalDetails?id=...`; - **项目详情 ID**:直接给 `finalDetails?id=` 后面的 ID。 下载完成后会自动生成: - 每个项目一份独立 PDF; - 所有项目合并 PDF; - 原始页图; - 项目信息 JSON; - 页图 URL JSON。 --- ## 项目结构 ```text nsfc-report-downloader-project/ ├─ README.md ├─ requirements.txt ├─ .gitignore └─ skill/ ├─ SKILL.md ├─ agents/ │ └─ openai.yaml └─ scripts/ └─ download_nsfc_reports.py ``` --- ## 安装依赖 ```powershell python -m pip install -r requirements.txt ``` 如果你要做 PDF 渲染检查,建议额外安装 Poppler,并确保 `pdftoppm` 可用。 --- ## 快速开始 ### 1. 按关键词下载 ```powershell python ".\skill\scripts\download_nsfc_reports.py" "榛子" --output "output/pdf/nsfc_reports_榛子" ``` ### 2. 按项目详情 URL 下载 ```powershell python ".\skill\scripts\download_nsfc_reports.py" --url "https://kd.nsfc.cn/finalDetails?id=6119577a10db3ed34a44ce65900fe3fe" --output "output/pdf/nsfc_reports_one" ``` ### 3. 按项目 ID 下载 ```powershell python ".\skill\scripts\download_nsfc_reports.py" --id "6119577a10db3ed34a44ce65900fe3fe" --output "output/pdf/nsfc_reports_one" ``` ### 4. 限制下载项目数量 关键词比较宽时,建议先限制项目数量: ```powershell python ".\skill\scripts\download_nsfc_reports.py" "果实成熟" --max-projects 1 --output "output/pdf/nsfc_reports_果实成熟" ``` --- ## 输出文件说明 下载完成后,输出目录通常包含: ```text output/pdf/nsfc_reports_xxx/ ├─ projects.json ├─ NSFC_final_reports_merged.pdf ├─ 32070322_乙烯调控番茄果实成熟的分子机理研究_final_report.pdf ├─ 32070322_urls.json └─ images/ └─ 32070322/ ├─ page_001.jpg ├─ page_002.jpg └─ ... ``` 其中: - `projects.json`:项目元数据; - `*_final_report.pdf`:单个项目结题报告; - `NSFC_final_reports_merged.pdf`:合并版; - `images/`:原始图片页; - `*_urls.json`:报告页图地址,便于复核。 --- ## 如果作为 Codex Skill 使用 把 `skill/nsfc-report-downloader` 或本项目中的 `skill/` 内容放入你的 Codex skills 目录后,可以这样说: > 使用 NSFC Report Downloader,帮我下载关键词“榛子”相关的国家基金结题报告并合并成 PDF。 或者: > 下载这个国家基金项目详情页的结题报告:https://kd.nsfc.cn/finalDetails?id=... --- ## 工作原理 这个网站的结题报告页通常是图片阅读器,而不是直接暴露一个 PDF 文件。 脚本做了几件事: 1. 关键词模式下,启动或连接 Chrome/Edge 远程调试端口; 2. 打开 `kd.nsfc.cn` 结题项目检索页; 3. 从 Vue 运行时状态中提取项目 ID 和项目信息; 4. 调用公开接口获取每一页报告图片地址; 5. 逐页下载图片; 6. 使用 Pillow 合并为 PDF; 7. 保存项目元数据和页图 URL,方便后续核查。 --- ## 注意事项 这个项目只处理公开可访问的报告页面。 请不要用于绕过登录、验证码、权限控制或其他访问限制。如果网站要求交互验证,脚本会停止,应该由使用者自行确认访问权限。 另外,国家基金网站偶尔会返回 `503`,脚本已经做了重试和限速;如果网络环境不稳定,可以稍后重跑,已下载的图片会被复用。 --- ## 适合哪些场景? - 做综述时批量查找相关基金结题材料; - 需要归档某个研究方向的公开项目报告; - 想快速整理项目成果、摘要、结题报告; - 需要把网页图片式报告变成 PDF 方便阅读。 --- ## 一个小结 这个工具解决的不是“找不到资料”的问题,而是“资料在网页里,但整理起来太费劲”的问题。 它把重复劳动交给脚本,把时间留给真正重要的部分:阅读、判断和写作。