This project uses a home server cronjob to scrape Google Scholar data via the scholarly Python package and the Google Sheets to get the journal's impact factor (IF) and the publication's DOI.
The JSON can then be used, for example, by uploading the data to a publicly accessible server via Secure Copy (SCP) or rsync, which serves the JSON data via a Flask application.
Meltwater is the news gathering tool used by some universities. See also Isentia Medaiportal. See also Zotera, an open source citation manager.
altmetrics
python -m venv scholar && source scholar/bin/activate
- Python 3.6+
- Flask
- scholarly
- Wikipedia
-
Clone this repository to your local machine.
-
Install the required packages.
-
Setup.
git clone https://github.com/Luen/scholarly-api python -m venv scholar source scholar/bin/activate pip install -r requirements.txt
-
Test run.
python main.py ynWS968AAAAJ
First build the base image:
docker build -t scholar-base:latest -f Dockerfile.base .
Then start the services:
docker-compose up -d
Wait for containers to be ready (check status with docker compose ps
). Then to manually run the script:
# First check if containers are ready
docker compose ps
# If containers are running, execute the script
docker compose exec cron python main.py ynWS968AAAAJ
# If you get a "container is restarting" error, check logs
docker compose logs web
Install pytest and run it using the command pytest
.
Navigate to the project directory and run the Flask application:
python ./serve.py
URL: / Method: GET Description: Displays a welcome message in plain text. Example: /
URL: /author_id Method: GET Description: Searches for authors by id. Parameter: id Example: /ynWS968AAAAJ