Skip to content
/ scholar Public

JSON data of published papers with DOIs and Journal Impact Factors for professors

Notifications You must be signed in to change notification settings

Luen/scholar

Repository files navigation

Scholar API

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

Installation

Prerequisites

  • Python 3.6+
  • Flask
  • scholarly
  • Wikipedia

Setup

  1. Clone this repository to your local machine.

  2. Install the required packages.

  3. Setup.

    git clone https://github.com/Luen/scholarly-api
    python -m venv scholar
    source scholar/bin/activate
    pip install -r requirements.txt
  4. Test run.

    python main.py ynWS968AAAAJ

Docker

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

Testing

Install pytest and run it using the command pytest.

Starting the flask app

Navigate to the project directory and run the Flask application: python ./serve.py

Index Welcome Message

URL: / Method: GET Description: Displays a welcome message in plain text. Example: /

Get Author Id

URL: /author_id Method: GET Description: Searches for authors by id. Parameter: id Example: /ynWS968AAAAJ

About

JSON data of published papers with DOIs and Journal Impact Factors for professors

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages