https://github.com/compscidr/scholar
A parser for Google scholar, written in go
https://github.com/compscidr/scholar
article citations extracts golang google-scholar hacktoberfest parser
Last synced: 5 months ago
JSON representation
A parser for Google scholar, written in go
- Host: GitHub
- URL: https://github.com/compscidr/scholar
- Owner: compscidr
- License: apache-2.0
- Created: 2020-09-23T00:29:31.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2025-04-11T20:48:44.000Z (6 months ago)
- Last Synced: 2025-04-23T19:29:43.944Z (6 months ago)
- Topics: article, citations, extracts, golang, google-scholar, hacktoberfest, parser
- Language: HTML
- Homepage:
- Size: 11.9 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# scholar
scholar is a WiP Go module that implements a querier and parser for Google Scholar's output. Its classes can be used
independently, but it can also be invoked as a command-line tool.This tool is inspired by [scholar.py](https://github.com/ckreibich/scholar.py)
# Usage
```
import "github.com/compscidr/scholar"sch := scholar.New("profiles.json", "articles.json")
articles := sch.QueryProfile("SbUmSEAAAAAJ", 1)for _, article := range articles {
// do something with the article
}
```## Features
Working:
* Queries and parses a user profile by user id to get basic publication data
* Queries each of the articles listed (up to 80) and parses the results for extra information
* Caches the profile for a day, and articles for a week (need to confirm this is working)
* This is in memory, so if the program is restarted, the cache is lost
* Configurable limit to number of articles to query in one go
* On-disk caching of the profile and articles to avoid hitting the rate limit## TODO:
* Pagination of articles
* Add throttling to avoid hitting the rate limit (figure out what the limit is)## Possible throttle info:
https://stackoverflow.com/questions/60271587/how-long-is-the-error-429-toomanyrequests-cooldown