getpaper
description
getpaper is a small command-line tool writen in python to get scientific papers from their references. It uses the journals' search engine, automatically send to them a well formatted request, and scraps the answer (using BeautifulSoup) to get the paper url. If a paper is found, it opens its url on a new tab in the web browser. If there is an error, it opens the paper search page.
installation
https://pypi.org/project/paper-retriever/
$ pip install paper-retriever
example
# general synthax :
$ getpaper PRA 46 2668
$ getpaper Nature 519 211
$ getpaper arxiv 1706 07781
# get paper using DOI :
$ getpaper doi 10.1103/physrevx.8.031054
to get the list of implemented journal :
getpaper journals # returns list of journals
available journals : PRL, PRX, RMP, PRA, PRB, PRC, PRD, PRE, PR, Science, NatPhys, Nature, arxiv, NJP, JPBold, JPB, OE, OL, AO, Optica, SPP, SciPostPhys
limitations
So far, on top of broadband journals such as Nature or Science and the open-access arXiv repository, only a subset of physics journals is implemented.
Note that the papers are fetched from journals' search engine using web scrapping and some quick retro-engineering. If the search engine request protocol and/or the result page changes, the code won't work anymore. If this happens for an implemented journal, do not hesitate to let me know by opening an issue :)
If you wish to contribute, by writing the code in a more elegant way or implementing new journals, do not hesitate to contact me.
notes
The script is written for python >3.12. It requires the installation of additionnal packages:
-
requests: "Python HTTP for Humans." Used to send requests to the journal's search engine and retrieve information.
-
beautifulsoup4: "Beautiful Soup sits atop an HTML or XML parser, providing Pythonic idioms for iterating, searching, and modifying the parse tree." Used to parse the HTTP response.
For a simple install of this packages, I recommend using pip (https://pypi.python.org/pypi/pip/).
Metadata
Release files for paper-retriever 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| paper_retriever-0.1.1.tar.gz | 17.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| paper_retriever-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.9 kB
Release files / paper_retriever-0.1.1.tar.gz
| Download URL | paper_retriever-0.1.1.tar.gz |
|---|---|
| Size | 17.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
016f3c64b25ac531a9434e25e1557edadf0dee29b1a3ec8a0151fb12c9483efc
|
|
BLAKE2b-256 checksum How to use checksums |
d07978c6d72201e717b4b47f982b22a014e750415853599e7f8672d9d62ae0ed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.0.1 CPython/3.12.3 Linux/6.11.0-17-generic
|
Release files / paper_retriever-0.1.1-py3-none-any.whl
| Download URL | paper_retriever-0.1.1-py3-none-any.whl |
|---|---|
| Size | 18.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
27cf45d977b076081948a70a524156974ff6d85a0dcd3c05738833e02e3d6f98
|
|
BLAKE2b-256 checksum How to use checksums |
054abbddd084f6928a9a33d8a44f52b00a77448dcf794f193087d831c268cda7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.0.1 CPython/3.12.3 Linux/6.11.0-17-generic
|