三峡大学学位论文下载

三峡大学学位论文下载

每一位硕士研究生毕业时,都要将其论文上传至图书馆学位论文库中。如果该学生选择公开该论文,那么作为校内研究生的你将获得免费阅读该论文的机会。

但是,图书馆仅开放了在线阅读的功能,并不支持下载!这给我们后期的反复阅读带来了麻烦,因此为了解决这个问题,我编写了一个能够自动下载,并自动生成带目录的pdf的论文下载器。

本项目所设计的论文下载器是通过 selenium 实现的。这是一个用于前端测试的 Python 库,可模拟网页上的各种操作。使用 reportlab、PyPDF2 对获取到的网页图片进行整合,生成 PDF 文件。

使用方法

配置环境

首先配置 webDriver。
安装 chrome浏览器,然后输入下面的网址查看浏览器版本:

chrome://settings/help

chrome版本

然后,根据该版本号,去下载chromedriver:

http://npm.taobao.org/mirrors/chromedriver/

选择win32的zip

解压后将其放置到chrome的安装目录下

chrome的安装目录

这样,就可以通过chromedriver来控制chrome了。

这一步很容易出错,如果有问题,请多百度一下,主要是环境没配好之类的。

然后,检查当前环境是否已经安装了以下库:

  • selenium
  • base64
  • tqdm
  • reportlab
  • PyPDF2
  • pillow

使用 pip 命令安装即可。

确定下载地址

打开三峡大学图书馆学位论文库的远程访问地址(如果需要登录,请进行登录后再操作):

http://210.42.41.117:8082/Thesis/ThesisSearch/Search_DataInit.aspx?dbid=6

然后,搜索你需要下载的论文,打开在线浏览,得到类似下面的界面:

复制该界面的网页地址即可。

下载

这里我写了一个叫做 paperDownload.py 的下载代码,里面包含了主要的功能函数,并进行了封装。
在其中,你需要根据自己的情况,修改webdriver的配置情况:
设置环境变量或者直接调用都可以:

# driver = webdriver.Chrome() # 环境变量
driver = webdriver.Chrome(executable_path=r"C:\Program Files\Google\Chrome\Application\chromedriver.exe") # 直接调用

配置好后,新建一个py文件,使用以下代码进行下载:

from paperDownload import CTGU

d = CTGU()  
# 实例化一个学生用户,请在paperDownload设置一个默认的账号。
# 如果出现用户登录失败的情况,则需要重新设置一个新的账号,
# d = CTGU('新的学号','新的密码') 
# 或者等待一段时间再使用,因为账号不支持多地同时登录。

d.download(
   paperUrl='论文地址', # 上面复制的网页地址
   save_path="保存的文件夹", # 自己写一个保存的文件夹,他会自己创建
   category=True, # 如果在线浏览界面中存在目录,那就设置为True,否则为False
   sleep_seconds=8, # 睡眠时间自行把握,根据当前网速适当调整,设置的越大,下载越慢,但越不容易出错
)

运行后,你将在输出界面看到如下下载进度提示:

下载完毕后,在你设置的文件夹中会得到一个src子文件夹,里面包括了论文的每一页图片,以及一个output.pdf,这个就是最终生成的带目录的pdf文件了。

TODO

所设计的这个论文下载器还存在很多的问题,如图片出现空白页、下载速度慢、仅支持上传格式为pdf的学位论文等,目前还没有得到很好的解决。

另外,有机会想把它做成一个GUI界面,方便使用。

posted @ 2021-04-15 19:10  GShang  阅读(368)  评论(5编辑  收藏  举报