我用Python开发了个SCI-HUB本地版

栏目: Python · 发布时间: 5年前

内容简介:听说有思路:(编程思路和逻辑最重要)下面我们用

听说有 sci-hub 桌面版,带着好奇我找了一下,还真是有的,看到他的填写输入 DOI 号之后即可获取文献。一番挣扎之后,有点意思, 生信也学习 一段时间了,我是不是我也可以试试搞一个这样的软件呀,总结一下人家的软件可以做什么:

  1. 一个界面,输入DOI号的窗口
  2. 一个按钮,点击确定
  3. 多个学术按钮,但是都是指向了一个网站,之后再有链接
  4. 还有一个非常重要的功能 打赏 按钮,( ̄▽ ̄)/,有付出有赞赏嘛,用到人家软件的小伙伴还是多多给人家打赏哈。

思路:(编程思路和逻辑最重要)

1,2步骤完成核心功能,就是`sci-hub`网址+`DOI号`获得文献

下面我们用 Python 试试如何实现(虽然我上本科学过 C++ 但是我已经几乎忘完了,不过 关于编程学习的一些思考 是一样的)

Python打开默认浏览器

#用 Python 打开默认的浏览器
import webbrowser
hub = "http://sci-hub.fun/"
webbrowser.open(hub)

网址用默认浏览器打开成功了

我用Python开发了个SCI-HUB本地版

观察 sci-hub 网址的规律,以一篇2019cell为例子

我用Python开发了个SCI-HUB本地版

#测试一下代码
doi = "10.1016/j.cell.2018.11.046"
# 注意上一步的hub必须要末尾的 `/`
paper = hub + doi #字符串的拼接
webbrowser.open(paper)

运行成功了,此处不再贴图了

批量下载

我们检索文献一般不只是一篇,这时候呢我们就可以用循环来实现。

import webbrowser
hub = "http://sci-hub.fun/"
print("Please enter DOI")
while(True):
	doi = input()
	paper = hub+doi
	webbrowser.open(paper)

封装为可执行程序

上面的代码完成了核心功能,那如果没有安装Python的环境如何使用呢?

这里就用到了 PyInstaller (http://www.pyinstaller.org/),把Python程序 py 文件可以封装为 exe 可执行文件。

说实话不好安装,依赖问题总是报错,但是可以先下载,再手动安装,缺啥包安装什么包,需要一点耐心。

安装完后,我们就可以把 py 文件封装为exe了,在windows下打开 控制台 ,输入命令,查看帮助文档。

pyinstaller -h

#可以生产exe,也可以生产mac下的可执行文件。

我用Python开发了个SCI-HUB本地版

将之前写好的这个程序的“核心代码”另存为 scihub.py ,在控制台执行 pyinstaller scihub2.py

生成文件如下

我用Python开发了个SCI-HUB本地版

完成后如下图,生成的一系列文件文件

我用Python开发了个SCI-HUB本地版

dist -> hubsci2 -> hubsci2.exe 即可

我用Python开发了个SCI-HUB本地版

现在这个程序不能使用复制粘贴 Ctrl+V , 添加一句完善代码,如下

我用Python开发了个SCI-HUB本地版

再用 pyinstaller 生成 exe 即可

我用Python开发了个SCI-HUB本地版

这还只是简单的功能实现,还并没有完善,比如 sci-hub 网址更新问题,添加循环或者 try 语句,核心的功能就是这样了,另一个值得思考的问题,就Python文件才几行命令,但是生成出来的整体exe却18M这样,可能效率有点低。学习的路上和大家多多交流。


以上所述就是小编给大家介绍的《我用Python开发了个SCI-HUB本地版》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Designing for Emotion

Designing for Emotion

Aarron Walter / Happy Cog / 2011-10-18 / USD 18.00

Make your users fall in love with your site via the precepts packed into this brief, charming book by MailChimp user experience design lead Aarron Walter. From classic psychology to case studies, high......一起来看看 《Designing for Emotion》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具