Skip to content

A CLI tool for automating the scraping of scholarly articles from Google Scholar and integrating them into Zotero. Ideal for researchers conducting meta-analyses.

License

Notifications You must be signed in to change notification settings

kunzaatko/bib-scraper

Repository files navigation

A Google Scholar logo with a knife over it that signifies scraping

Bib Scraper

A CLI tool designed to automate the process of scraping scholarly articles from Google Scholar and integrating them into your Zotero account. This tool is particularly useful for researchers collecting literature for meta-analysis.

Features

  • Scraping: Scrapes the specified number of top google scholar items for the given query
  • Metadata Enrichment: Finds the metadata (authors, abstract, year, etc.) by finding a match in CrossRef
    • CrossRef match is made by comparing the title, authors and abstract if available. Abstract is compared as an embedding.
  • Download Attachments: Automatically downloads available PDFs and attaches them to the Zotero items

Installation

Install the tool using uv by running

$ uv tool install git+https://github.com/kunzaatko/bib-scraper

(Note: You might need to install uv first: pip install uv)

Configuration

Create a .env file in the root directory of the project by copying the .env.example file and filling in the required variables.

Usage

Run the script from the command line using uv tool run --from scraper bib-scraper.

$ uv tool run --from scraper bib-scraper --query "\"SIM parameter estimation\" OR \"SIM image reconstruction algorithm\"" --item-limit 15

Showcase GIF

Full resolution showcase video
showcase.mp4

To see the command-line help and all the available options, use the --help flag:

$ uv run bib-scraper --help

About

A CLI tool for automating the scraping of scholarly articles from Google Scholar and integrating them into Zotero. Ideal for researchers conducting meta-analyses.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages