开源项目地址:https://gitee.com/tmrnic/gzrreport-downloader
[
和论文比起来,国家自然科学基金的项要稍务实一些,对申请基金项目的参考价值很大。但是这么好的资源又没有像论文那样的数据路方便查阅和下载,查阅起来尤其是下载起来不太方便。大家对于这样的资料往往是手手相传的交流,这种方式实在是不方便,就写了这样一个方便检索和下载报告pdf的小程序。
2023-10-05
今天完成了网页优化和信息检索的功能,就差报告下载了。
还没有想好怎么样提供下载链接,是用本站的网盘、百度网盘还是其他方式呢。本站的网盘肯定最好,但是硬盘大小有限,带宽也有限。再考虑一下……
2023-10-04
写这样一个命令行程序没什么意思,干脆写个下载网站吧,这样偶尔用一下也不用下载程序。要是有什么功能的更新,也不用找最新的软件了。
感谢百度AI文心一言坚定了我在网站服务器上加入结题报告下载网页的想法,给出一段python前后端的实现demo后,我花了10分钟就在本地跑通了基本功能。
0 背景
国家自然科学基金大数据管理系统提供很多结题项目,但是结题报告只有图片格式,摘要需要点开每个项目的详细信息才能查阅,用着实在是不方便。
报告只提供图片格式,而且加载十分缓慢,根本没办法正常阅读。
既然都公开了,那完全可以生成保护模式的pdf,至少让交流和学习方便一些。
1 介绍
从自然科学基金大数据网站 (https://kd.nsfc.gov.cn) 检索项目信息,并下载相应报告的pdf文件,方便打印和阅读。自然科学基金大数据网站是有检索的结题报告的,但是智能通过图片方式查阅,一页一张图,要是翻阅100页的报告很浪费时间,图片加载也很慢,根本没法用。既然基金的结题资料是公开的,而且可以查阅,为什么不提供清晰的pdf文件供大家交流呢?没办法,只能自己动手写个程序。
因为我不懂http,所以下边的介绍完全按照个人理解来写,可能很不专业。
2 软件架构
软件就是个简单的爬虫程序,好在网站并不复杂,在开发工具里简单操作几下就能得找到需要的数据。主要分为三个步骤:获取基金资助项目列表,得到相关信息,特别是项目的ID;根据ID查找摘要信息,汇总成检索信息表;选定项目后,根据ID获取报告每一页的图片文件,并在现在完成以后生成pdf文件并保存。程序结构如下图所示,一共进行三次请求,完成文件下载。
A 关键词搜索
关键词搜索是将关键词信息加载数据中通过POST发送到服务器,然后返回相关报告的列表。列表中的每一项都包含一个关键的reportID编码,这个就是每一份报告的唯一标识,之后的查找摘要和结题报告都是要利用这个数据。
B 获取摘要
根据reportID,将其加到data中,通过GET获取摘要信息。之后将摘要信息也加入到搜索到的报告列表中,就能得到报告摘要信息的搜索结果,这样应当更加方便在搜索结果中查找自己需要的信息。
C 获取报告图片
同样根据reportID,通过POST请求报告中某一页的图片,因此data中包含页面信息index。得到图片后,先将其保存下来,如果是横着的图片就将其转90度,得到竖向的图片,方便之后将其合成为一个PDF文件。
3 安装教程
直接打开可执行文件即可使用,按照要求输入信息,等到文件下载即可。因为没有重命名的功能,所以新的下载会覆盖之前的下载。每次下载完成后都需要另存report.pdf文件。
4 使用说明
- 搜索:输入想要查找的关键词,回车后等待查询数据
- 浏览:查阅数据,选择需要下载的项目报告
- 下载:输入编号,等待下载完成,得到report.pdf
5 下载地址
本站网盘下载地址:GZR-Downloader v0.1
Gitee发布地址:GZR-Downloader v0.1 release