文献下载利器bget

还在受限于没有权限访问各大期刊的文章正文和附录吗,试试bget工具吧,它主要功能:

  1. 使用DOI下载对应的电子资源!!
  2. 下载GEO,TCGA, SRA等公共数据
  3. 下载URL资源
  4. 下载生信分析工具源代码

作为一名科研狗经常会文献没有权限访问或者附件需要一个一个的下载非常的麻烦又费时。

下面主要是介绍如何bget 的doi功能,即用来下载正文以及附录,这里以大课题组的几篇文章为例,

  1. Song, Jiangping et al. (2020, Science Translational Medicine) 1
  2. Chen, Liang et al. (2019, European Heart Journal)1
  3. Hua, Xiumeng et al. (2010, Circulation) 3
  4. Li, Yandong et al. (2020, Circulation) 4
  5. Chu, Qing et al. (2020, Advanced Science) 5

1 安装使用

1.1 MAC 或者 Linux用户 安装使用

# MAC用户 
wget https://github.com/openanno/bget/releases/download/v0.3.1/bget_osx
mv bget_osx bget
chmod a+x bget

# 其他linux用户
wget https://github.com/openanno/bget/releases/download/v0.3.1/bget_linux64
mv bget_linux64 bget
chmod a+x bget 

PS: 下载的bget只可执行文件,可以直接运行

例如我们以上面的几篇文章为例,新建一个可执行文件run_bget.sh下载所有,后者通过命令行一个一个下载

1.1.1 一次下载一个

# 这里以circulation为例子,因为circulation的文章如果没有权限的话正文和附录基本是下载不了的
~/Documents/software/bget doi 10.1161/CIRCULATIONAHA.119.043545 --suppl --enable-scihub

1.1.2 一次下载所有

如果有多篇文章需要下载可以把相应的doi号写到可执行文件*.sh文件中,然后用bash yourdefined.sh运行,如下:

#新建的run_get.sh文件如下
#Ref1
~/Documents/software/bget doi 10.1126/scitranslmed.aay8329 --suppl --enable-scihub
#Ref2
~/Documents/software/bget doi 10.1093/eurheartj/ehz172 --suppl --enable-scihub
#Ref3
~/Documents/software/bget doi 10.1161/CIRCULATIONAHA.119.043545 --suppl --enable-scihub
#Ref4
~/Documents/software/bget doi 10.1161/CIRCULATIONAHA.119.044484 --suppl --enable-scihub
#Ref5
~/Documents/software/bget doi 10.1002/advs.20190359 --suppl --enable-scihub
(base) lixiangjie@ele:bget_test$ bash run_bget.sh 
[2020-08-01 19:20:43] [INFO] Visiting http://sci-hub.tw/10.1126/scitranslmed.aay8329
[2020-08-01 19:20:50] [INFO] Visiting https://doi.org/10.1126/scitranslmed.aay8329
[2020-08-01 19:20:52] [INFO] Visiting https://stm.sciencemag.org/content/12/530/eaay8329/tab-figures-data
[2020-08-01 19:20:53] [INFO] Trying http://sci-hub.tw/downloads/2020-02-15/a4/10.1126@scitranslmed.aay8329.pdf?download=true => /Users/lixiangjie/Downloads/bget_test/10.1126/scitranslmed.aay8329/10.1126@scitranslmed.aay8329.pdf

如果访问的网络有权限访问,则可以把--enable-scihub 去掉 ,直接运行

~/Documents/software/bget doi 10.1002/advs.20190359 --suppl 

1.2 Windows 用户安装使用

简单方便,双击即可下载paper !!!

1.2.1 bget.exe软件下载

Windows 用户可以通过链接https://github.com/openanno/bget/releases/download/v0.3.0/bget.exe直接进行下载,或者通过分享的百度云链接: https://pan.baidu.com/s/1kY_rpQ14o1f7wxxyqHSMiQ 密码: ks7f,下载的软件可以放到好记的目录下面,比如这里我放到 C:\Users\xiaoxiang\Documents\bget.exe,如果你对windows的命令行 cmd 或者powershell 比较熟悉的话,可以直接像Linux那样直接运行。如果对命令行不熟悉也没有关系,我们只需要两步,通过双击的形式即可下载,具体如下

1.2.2 软件的使用

  1. 首先新建一个文本文件新建文本文件.txt,把后缀名改为.bat,例如这里我们把文件名改为bget_download.bat,需要注意的是bat文件的注释符号是两个%符号,
    在下载的时候仅仅需要更改文献的doi号即可
% bget_download.bat 的文件内容如下%
%Ref1%
C:\Users\xiaoxiang\Documents\bget.exe doi 10.1126/scitranslmed.aay8329 --suppl --enable-scihub
%Ref2%
C:\Users\xiaoxiang\Documents\bget.exe doi 10.1093/eurheartj/ehz172 --suppl --enable-scihub
%Ref3%
C:\Users\xiaoxiang\Documents\bget.exe doi 10.1161/CIRCULATIONAHA.119.043545 --suppl --enable-scihub
%Ref4%
C:\Users\xiaoxiang\Documents\bget.exe doi 10.1161/CIRCULATIONAHA.119.044484 --suppl --enable-scihub
%Ref5%
C:\Users\xiaoxiang\Documents\bget.exe doi 10.1002/advs.20190359 --suppl --enable-scihub
  • 如图所示进行编辑bget_download.bat

  1. 双击bget_download.bat即可运行

当双击之后可以看到有如下文件夹自动生成,每个文件夹对应一个杂志的名字,但由于网络的原因这里并没有成功下载所有的paper。

2 bget 帮助文档

2.1 bget doi 子程序帮助文档

(base) lixiangjie@ele:~$ ~/Documents/software/bget doi --help
Can be used to access files via DOI. More see here https://github.com/openanno/bget.

Usage:
  bget doi [doi1 doi2 doi3...] [flags]

Examples:
  bget doi 10.5281/zenodo.3363060 10.5281/zenodo.3357455 10.5281/zenodo.3351812 -t 3
  bget doi 10.1016/j.devcel.2017.03.001 10.1016/j.stem.2019.07.009 10.1016/j.celrep.2018.03.072 -t 2
    
  # query pdf and meta data using PubMed ID
  dois=`bget api ncbi --xml2json --json-pretty -q '30487223[pmid] or 30402350[pmid] or 29279377[pmid]' --size 3 -m 3 | grep / | grep 10. | sed 's/ .* "//' | tr -d '",' | sort -u` && echo ${dois} && bget doi ${dois} --print-meta --print-crossref
  
  bget doi 10.1080/15548627.2018.1505155 --proxy http://username:password@hostname:port
  bget doi 10.1182/blood.2019000200 --enable-scihub
  bget doi 10.1109/JPROC.2019.2905423 -n
  bget doi 10.1073/pnas.1814397115 --print-meta --print-crossref

Flags:
      --enable-pmc               enable try PMC database.
      --enable-scihub            enable try scihub spider.
  -g, --engine string            Point the download engine: default, simplego, wget, curl, axel, git, and rsync. Don't need the external tool using the 'default' or 'simplego' mode. (default "default")
  -e, --extra-cmd string         Extra flags and values pass to internal CMDs
      --full-text string         access full text. (default "true")
  -h, --help                     help for doi
  -l, --list-file string         A file contains dois for download.
  -m, --mirror string            Set the mirror of resources.
  -o, --outdir string            Set the download dir.
  -f, --overwrite                Logical indicating that whether to overwrite existing files.
      --print-crossref           print crossref meta data.
      --print-meta               print website meta data.
      --proxy string             HTTP proxy to download.
  -n, --remote-name              Use remote defined filename.
      --resume                   Contine to download and skip the check of existed files.
  -r, --retries int              Retry specifies the number of attempts to retrieve the data. (default 5)
      --retries-sleep-time int   Sleep time after one retry. (default 5)
  -s, --seperator string         Optional 'url1{seperator}url2' for multiple keys, urls, or seqs. (default ",")
      --suppl                    access supplementary files.
  -t, --thread int               Concurrency download thread. (default 1)
  -d, --thread-req int           Set the thread of request number of per URL. (default 1)
      --timeout int              Set the timeout of per request. (default 35)

Global Flags:
      --log-dir string   log dir. (default "/home/xiaoxiang/Desktop/_log")
      --save-log         Save log to file.
  -k, --task-id string   task ID (default is random). (default "66mfmwk37isos7k")
      --verbose int      verbose level (0:no output, 1: basic level, 2: with env info) (default 1)

2.2 bget 其他子程序

其他子程序的详细介绍,https://zhuanlan.zhihu.com/p/85403027给出了详细的介绍,主要包括

  1. bget key 下载资源/资源集
  2. bget seq 下载 GEO/SRA/TCGA 数据
  3. bget url 并行下载 url
  4. bget doi 下载文献及附录数据

Reference

  1. Song, J.-P. et al. Elevated plasma β-hydroxybutyrate predicts adverse outcomes and disease progression in patients with arrhythmogenic cardiomyopathy. Sci. Transl. Med. 12, (2020). 正文链接
  2. Chen, L. et al. A novel genotype-based clinicopathology classification of arrhythmogenic cardiomyopathy provides novel insights into disease progression. Eur. Heart J. 40, 1690–1703 (2019).正文链接
  3. Hua, Xiumeng et al. Single-Cell RNA Sequencing to Dissect the Immunological Network of Autoimmune Myocarditis. Circulation 142, 384–400 (2020).正文链接
  4. Li, Yandong et al. Gp130 Controls Cardiomyocyte Proliferation and Heart Regeneration. Circulation 0.正文链接
  5. Chu, Q. et al. CACCT: An Automated Tool of Detecting Complicated Cardiac Malformations in Mouse Models. Adv. Sci. 7, 1903592 (2020).正文链接

参考链接

  1. https://zhuanlan.zhihu.com/p/85403027
  2. https://github.com/openanno/bget

  1. 如有问题请联系: ele717@163.com (Xiangjie Li).↩︎