/bibscrape

Fork of bibcure

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

bibcure (Beta Version)

logo_64x64 Bibcure helps in boring tasks by keeping your bibtex file up to date and normalized.

bibcure_op

Requirements/Install

Bibcure uses the wonderful Bibtex parser. In this moment we waiting for new release of python-bibtexparser to solve some bugs.

Install it using pip:

$ sudo python /usr/bin/pip install bibcure
# or
$ sudo pip install bibcure
# or
$ sudo pip3 install bibcure  # for Python 3

You can also install from the source: git clone the repository, and install with the setup.py script.

scihub2pdf (beta)

sci_hub_64 If you want download articles via a DOI number, article title or a bibtex file, using the database of arXiv, libgen or sci-hub, see bibcure/scihub2pdf.


Features and how to use

bibcure

Given a bib file...

$ bibcure -i input.bib -o output.bib
  • check sure the arXiv items have been published, then update them (requires internet connection),

  • complete all fields(url, journal, etc) of all bib items using DOI number (requires internet connection),

  • find and create DOI number associated with each bib item which has not DOI field (requires internet connection),

  • abbreviate journals names.

arxivcheck

Given an arXiv id...

$ arxivcheck 1601.02785
  • check if has been published, and then returns the updated bib (requires internet connection).

Given a title...

$ arxivcheck --title "A useful paper with hopefully unique title published on arxiv"
  • search papers related and return a bibtex file for the first item.

You can easily append a bib into a bibfile, just do

$ arxivcheck --title "A useful paper with hopefully unique title published on arxiv" >> file.bib

You also can interact with results, just pass --ask parameter:

$ arxivcheck --ask --title "A useful paper with hopefully unique title published on arxiv"

scihub2pdf

Given a bibtex file

$ scihub2pdf -i input.bib

Given a DOI number...

$ scihub2pdf 10.1038/s41524-017-0032-0

Given an arXiv id...

$ scihub2pdf arxiv:1708.06891

Given a title...

$ scihub2bib --title "A useful paper with hopefully unique title"

or arxiv...

$ scihub2bib --title arxiv:"A useful paper with hopefully unique title"

Location folder as argument:

$ scihub2pdf -i input.bib -l somefolder/

Use libgen instead sci-hub:

$ scihub2pdf --uselibgen -i input.bib

doi2bib

Given a DOI number...

$ doi2bib 10.1038/s41524-017-0032-0
  • get bib item given a DOI (requires internet connection)

You can easily append a bib into a bibfile, just do:

$ doi2bib 10.1038/s41524-017-0032-0 >> file.bib

You also can generate a bibtex from a txt file containing a list of DOIs:

$ doi2bib --input file_with_dois.txt --output refs.bib

title2bib

Given a title...

$ title2bib "A useful paper with hopefully unique title"
  • search papers related and return a bib for the selected paper (requires internet connection)

You can easily append a bib into a bibfile, just do

$ title2bib "A useful paper with hopefully unique title" --first >> file.bib

You also can generate a bibtex from a txt file containing a list of "titles"

$ title2bib --input file_with_titles.txt --output refs.bib --first

Comparison: Sci-Hub vs LibGen

Sci-Hub

  • Stable
  • Annoying CAPTCHA
  • Fast

Libgen

  • Unstable
  • No CAPTCHA
  • Slow

License

GNU Affero General Public License v3.0. For more details, see the LICENSE file.