功能介绍
从sci-hub
researchgate
sciencedirect
ieee
springer
unpaywall
等上下载sci,按钮红色表明可用
加qq群了解详情256445318
说明
1 基本布局
首先将整体命名为sciTool
拆分开来,
从左到右依次为最大化/最小化按钮
(按钮1) 状态显示按钮
(按钮2) 详细信息按钮
(按钮3)(包含匹配到的doi,下载到的论文名称)
效果
2 三种状态
任意包含doi的、配置本脚本的网页,sciTool从运行到结束会经历三种状态
匹配到doi,向接口请求论文的下载链接
这个过程按钮2
会显示圆形进度条,按钮3
会显示横向进度条,表明此时已匹配到doi,并正在通过api查询论文的下载链接,一旦找到下载链接会进入状态2
进度条到100%的时间为脚本内部timeout变量的时间。这个变量可以设置为您可以忍受的最大查询时间,超过这个时间便会得到Timeout的提示,中止查询。建议15~20s。
通过api返回的pdfURl缓存pdf到浏览器
此时按钮2和3会同时闪烁,此时没有固定时间,因此不会呈现进度条。同时,此时的按钮3为可点击状态,此时会在新窗口中打开api返回的pdfURL,而pdf的真正呈现需要一定时间。一旦缓存pdf成功就会进入状态3
如果一直闪烁,表明这个pdf很难缓存,建议直接手动打开链接
pdf缓存成功状态
此时按钮2和3为红色,按钮2不再是一个⚪,而是pdf的logo,点击按钮2,会直接将浏览器缓存的pdf下载到本地;点击按钮3,会在新窗口中直接打开pdf(这里是秒开,因为已缓存)
之所以设置点击按钮2会下载到本地的功能,是因为通过按钮3打开的pdf页面的下载功能不起作用
他有两种状态,最大化状态,最小化状态,会自动记录上次执行的状态。脚本内可以设置最小化下,如果状态发生改变是否弹出以及弹出时间
说明
部分论文需要在无痕模式下才能缓存成功,如springer、ieee
总结
一方面,本脚本核心功能是api接口的搭建,它由本人通过python实现(依赖腾讯云函数),多线程同时从sci-hub、researchgate、sciencedirect、springer、scidown、unpaywall等网站或接口获取sci的下载地址。相比sci-hub它可以下载2021之后的部分付费论文;
另一方面,本脚本所创建的sciTool从适用性和美观上,是经过我深思熟虑实现的,虽然大家审美各不相同,但它已经达到了我强迫症的标准。
关于我
bilibili
https://space.bilibili.com/13557814
github
https://github.com/MuiseDestiny
捐赠