This is a series of examples that let you build systematic literature reviews using the Crossref API and Python.
Please star and/or watch this repository in order to be informed when new examples are published.
Python 3.8 and over is required in order to use the examples. Once Python is installed, all you have to do is download or clone this repository in your working directory and, in a command line terminal, type this command:
pip install -r requirements.txt
This will install all required dependencies, including these four:
- habanero to make requests to the Crossref API;
- pandas to convert the API responses into a DataFrame;
- openpyxl to save the resulting DataFrame into an
.xlsx
file.
This script is used to build a systematic literature review of articles from specific journals, using their ISSN, and save the results in an Excel file.
This script is used to retrieve journal article DOIs using their title only and save the results in an Excel file.
Perfect matches will return a DOI. Partial matches on the beginning of the
title with still return a DOI, but with a [MATCH PARTIEL]
prefix.
For complete reference, please refer to Crossref API's journals/{issn}/works/ endpoint and habanero's Crossref journals method documentation.
Here is what you can quickly customize in the scripts, so they suit your needs.
The BASE_DIR
and EXCEL_FILE
constants are used to save the
resulting dataframe in an Excel file. Default is in the same directory as
the script.
The FILTERS
constant lets you add/modify/delete filters for your query.
In the ISSN_LIST
constant, you can add the ISSN of all the journals you
need to retrieve publications from. There is no limit on the number of ISSNs
you can put (well maybe there is, but you'll be warned by the API, not by the
script).
The Crossref API asks that you play nice with its service (please refer to the
documentation's Etiquette Section).
In order to do so, you'll have to add your email address to the MAILTO
constant. By playing nice, you'll be rewarded with a more reliable service and
directed to the Polite Pool of users.
Have fun! More examples will be published as people ask for them.