当前位置: 首页 > 后端技术 > Python

你不得不知道的python超级文献搜索工具

时间:2023-03-26 18:44:58 Python

原文来自Python实用书:你不得不知道的python超级文献搜索工具文献搜索对于广大同学来说真的很麻烦,如果你们学校买论文下载如果没有足够的权限,或者你不在校园里,就会很头疼。幸运的是,我们有这个用Python制作的论文搜索工具,它简化了我们学习的复杂性。Scihub首先向您介绍在线数据库sci-hub,它提供81,600,000篇科学学术论文和文章下载。最初由一位名叫AlexandraElbakin的研究生创立,她曾在哈佛大学做研究,发现所需的数百篇论文的费用太高,于是发起了这个网站的创建。让更多人获得知识的想法。后来这个网站名气越来越大,逐渐在印度、印度尼西亚、中国、俄罗斯等更多国家流行起来,并成功地与一些机构合作,共同维护和运营这个网站。到2017年,该网站共有学术论文8160万篇,占所有学术论文的69%,基本满足了大部分论文的需求,而剩下的31%是研究人员不想获取的论文。为什么要用Python工具下载起初这个网站是人人都能访问的,但是随着知名度的提升,越来越多的出版社盯上了它。2015年被美国法院封禁后,其他在美国的服务器再也无法访问,于是从那以后,他们就和发行商打起了游击战。游击战的缺点是需要经常更换scihub的地址,所以我们不能一直准确的使用某个地址来访问这个数据库。当然还有其他的方法可以让我们长时间访问这个网站,比如修改DNS,修改hosts文件,但是这些方法不仅麻烦,而且也不是长久之计,而且有仍有失败的可能。新姿势:用Python编写的API工具下载论文超方便这是github开源的非官方API工具,下载地址:https://github.com/zaytoun/scihub.py首先我们需要下载这个工具,在github上克隆项目:gitclonehttps://github.com/zaytoun/sc...或者在Cloneordownload按钮中下载ZIP并解压。解压后的文件夹名字可能是scihub.py,记得改成scihub,解压后用cmd进入这个文件夹,输入以下命令(默认你已经安装了Python)安装依赖:pipinstall-rrequirements.txt然后我们就可以开始了!这个工具非常容易使用。你可以先在GoogleScholar(可以搜索论文的网址)或者ieee上找到你需要的论文。复制论文的URL,如:http://img3.imgtn.bdimg.com/it/u=664814095,2334584570&fm=11&gp=0.jpg然后在scihub文件夹下新建scihub中的download.py文件,并输入以下代码:fromscihubimportSciHubsh=SciHub()#第一个参数输入论文的网址#path:filesavepathresult=sh.download('http://ieeeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=1648853',path='paper.pdf')进入这个文件夹后,在/terminal中点击cmd运行:pythondownload.py会发现文件已经成功下载到你当前目录。名字是paper.pdf。如果它不起作用,请多试几次。如果还是不行,可以在下方留言区提问哦。当然这个api工具还有很多功能,比如批量下载google学术关键词搜索到的论文,这些功能等着大家慢慢发现:fromscihubimportSciHubsh=SciHub()#getonGoogleScholar'的5篇文章bittorrent'keywordresults=sh.search('bittorrent',5)#下载论文,如有必要,调用scihubforpaperinresults['papers']:sh.download(paper['url'])Howitworks出处这个API的代码实际上非常容易阅读。1.找到sci-hub当前可用的域名首先会在这个论文下载地址中找到sci-hub当前可用的域名:https://whereisscihub.now.sh/2.执行用户输入的paper分析找到对应的paper。如果用户输入的链接不能直接下载,使用sci-hub下载。如果scihub的URL不可用,请切换到另一个URL,除非所有URL均不可用。3、下载拿到论文后,保存到data变量中,然后将data变量存为文件。值得注意的是,代码使用了重试装饰器,可用于错误重试。作者设置重试次数为10次,每次重试最长等待时间不超过1秒。这是我们文章的结尾。如果你今天想要我们的文章,请继续关注我们。如果对您有帮助,请在下方点赞或阅读。如果您有任何问题,可以在下方留言区留言。我们会耐心解答!Python实战宝典(pythondict.com)不只是一个合集欢迎关注公众号:Python实战宝典