利用python下載scihub成文獻(xiàn)為PDF操作
scihub是科研利器,這就不多說(shuō)了,白嫖文獻(xiàn)的法門(mén),一般采用的是網(wǎng)頁(yè)或者桌面程序,一般都會(huì)跳轉(zhuǎn)到網(wǎng)頁(yè)進(jìn)行加載出文獻(xiàn),但是這很不方便,畢竟全手動(dòng),這里無(wú)意中看到一個(gè)寫(xiě)好的pip工具scihub2pdf ,于是試一下它手動(dòng)威力,如果這能夠成功,也就是我們以后如果想批量下載也是沒(méi)問(wèn)題的。
1.首先我們得安裝它:
pip install scihub2pdf
2.緊接著安裝npm和phantomjs,因?yàn)檫@個(gè)代碼里面使用了phantomjs
yum install npm
切換到國(guó)內(nèi)源,威力網(wǎng)速給力,npm是nodejs的倉(cāng)庫(kù),我們類(lèi)比成python的pip即可
npm config set registry https://registry.npm.taobao.org
安裝 phantomjs
npm install -g phantomjs
如果順利成功的話(huà),就可以試一下這個(gè)工具了
3.scihub2pdf的使用
先來(lái)看一下使用幫助
[root@VM_0_9_centos ~]# scihub2pdf -h usage: scihub2pdf [-h] [--input INPUTFILE] [--title] [--uselibgen] [--location LOCATION] [--txt] SciHub to PDF ---------------------------------------------------- Downloads pdfs via a DOI number, article title or a bibtex file, using the database of libgen(sci-hub). Given a bibtex file $ scihub2pdf -i input.bib Given a DOI number... $ scihub2pdf 10.1038/s41524-017-0032-0 Given a title... $ scihub2pdf --title An useful paper Arxiv... $ scihub2pdf arxiv:0901.2686 $ scihub2pdf --title arxiv:Periodic table for topological insulators ## Download from list of items Given a text file like ``` 10.1038/s41524-017-0032-0 10.1063/1.3149495 ..... ``` download all pdf's ``` $ scihub2pdf -i dois.txt --txt ``` Given a text file like ``` Some Title 1 Some Title 2 ..... ``` download all pdf's ``` $ scihub2pdf -i titles.txt --txt --title ``` Given a text file like ``` arXiv:1708.06891 arXiv:1708.06071 arXiv:1708.05948 ..... ``` download all pdf's ``` $ scihub2pdf -i arxiv_ids.txt --txt ``` ----------------------------------------------------- @author: Bruno Messias @email: messias.physics@gmail.com @telegram: @brunomessias @github: https://github.com/bibcure/sci2pdf optional arguments: -h, --help show this help message and exit --input INPUTFILE, -i INPUTFILE bibtex input file --title, -t download from title --uselibgen Use libgen.io instead sci-hub. --location LOCATION, -l LOCATION folder, ex: -l 'folder/' --txt Just create a file with DOI's or titles
我們可以粗略看到,這個(gè)不僅僅可以doi還可批量的doi寫(xiě)在一個(gè)文件里,進(jìn)行批量下載,更牛的是可以直接使用論文標(biāo)題進(jìn)行下載,這就理解為啥這里面需要想依賴(lài)phantomjs了,這玩意就是爬蟲(chóng)用的。
我們來(lái)試一下:
[root@VM_0_9_centos ~]# scihub2pdf 10.1063/1.4991232
注意的是,這里需要修改源碼,因?yàn)橛玫逆溄硬粚?duì),我們應(yīng)該使用http://sci-hub.tw/而不是http://sci-hub.cc,在源碼(我自己的是在vim /opt/AN/lib/python3.7/site-packages/scihub2pdf/download.py修改的,根據(jù)自己pip安裝的路徑進(jìn)行調(diào)整)的download.py下就可找到進(jìn)行修改,因?yàn)閏c這個(gè)鏈接已經(jīng)用不了的。
還可以下載arxiv上的論文,比如
[root@VM_0_9_centos ~]# scihub2pdf arxiv:2003.02355
下載時(shí)間都是有點(diǎn)慢的,要等一會(huì)才能成功,因?yàn)槎际窃L問(wèn)的國(guó)外的網(wǎng)站
以上這篇利用python下載scihub成文獻(xiàn)為PDF操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Python根據(jù)URL地址下載文件并保存至對(duì)應(yīng)目錄的實(shí)現(xiàn)
- 利用python 下載bilibili視頻
- python 下載m3u8視頻的示例代碼
- Python HTMLTestRunner如何下載生成報(bào)告
- Python下載網(wǎng)易云歌單歌曲的示例代碼
- Python selenium如何打包靜態(tài)網(wǎng)頁(yè)并下載
- python下載的庫(kù)包存放路徑
- python實(shí)現(xiàn)從ftp上下載文件的實(shí)例方法
- python如何安裝下載后的模塊
- python3.8下載及安裝步驟詳解
- python 下載文件的多種方法匯總
相關(guān)文章
PyCharm無(wú)法引用自身項(xiàng)目解決方式
今天小編就為大家分享一篇PyCharm無(wú)法引用自身項(xiàng)目解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
使用Pandas?實(shí)現(xiàn)MySQL日期函數(shù)的解決方法
這篇文章主要介紹了用Pandas?實(shí)現(xiàn)MySQL日期函數(shù)的效果,Python是很靈活的語(yǔ)言,達(dá)成同一個(gè)目標(biāo)或有多種途徑,我提供的只是其中一種解決方法,需要的朋友可以參考下2023-02-02
python3下pygame如何實(shí)現(xiàn)顯示中文
這篇文章主要介紹了python3下pygame如何實(shí)現(xiàn)顯示中文,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
python中類(lèi)和實(shí)例如何綁定屬性與方法示例詳解
最近在學(xué)習(xí)python,純粹是自己的興趣愛(ài)好,然而并沒(méi)有系統(tǒng)地看python編程書(shū)籍,覺(jué)得上面描述過(guò)于繁瑣,在網(wǎng)站找了一些學(xué)習(xí)的網(wǎng)站,下面這篇文章主要給大家介紹了關(guān)于python中類(lèi)和實(shí)例時(shí)如何綁定屬性與方法的相關(guān)資料,需要的朋友可以參考下。2017-08-08
Python XML轉(zhuǎn)Json之XML2Dict的使用方法
今天小編就為大家分享一篇Python XML轉(zhuǎn)Json之XML2Dict的使用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
Python numpy實(shí)現(xiàn)二維數(shù)組和一維數(shù)組拼接的方法
今天小編就為大家分享一篇Python numpy實(shí)現(xiàn)二維數(shù)組和一維數(shù)組拼接的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06

