{"id":19892585,"url":"https://github.com/compscidr/scholar","last_synced_at":"2025-05-02T18:31:47.588Z","repository":{"id":37024011,"uuid":"297807237","full_name":"compscidr/scholar","owner":"compscidr","description":"A parser for Google scholar, written in go","archived":false,"fork":false,"pushed_at":"2025-04-11T20:48:44.000Z","size":12494,"stargazers_count":4,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-23T19:29:43.944Z","etag":null,"topics":["article","citations","extracts","golang","google-scholar","hacktoberfest","parser"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/compscidr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-23T00:29:31.000Z","updated_at":"2025-04-02T16:12:48.000Z","dependencies_parsed_at":"2024-04-21T00:32:00.770Z","dependency_job_id":"9f2491d5-53ed-41a2-80d2-795f55a159a5","html_url":"https://github.com/compscidr/scholar","commit_stats":null,"previous_names":["compscidr/scholar","compscidr/go-scholar"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compscidr%2Fscholar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compscidr%2Fscholar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compscidr%2Fscholar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compscidr%2Fscholar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/compscidr","download_url":"https://codeload.github.com/compscidr/scholar/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252088592,"owners_count":21692824,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["article","citations","extracts","golang","google-scholar","hacktoberfest","parser"],"created_at":"2024-11-12T18:24:16.258Z","updated_at":"2025-05-02T18:31:44.408Z","avatar_url":"https://github.com/compscidr.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# scholar\nscholar is a WiP Go module that implements a querier and parser for Google Scholar's output. Its classes can be used \nindependently, but it can also be invoked as a command-line tool.\n\nThis tool is inspired by [scholar.py](https://github.com/ckreibich/scholar.py)\n\n# Usage\n```\nimport \"github.com/compscidr/scholar\"\n\nsch := scholar.New(\"profiles.json\", \"articles.json\")\narticles := sch.QueryProfile(\"SbUmSEAAAAAJ\", 1)\n\nfor _, article := range articles {\n\t// do something with the article\n}\n```\n\n## Features\nWorking:\n* Queries and parses a user profile by user id to get basic publication data\n* Queries each of the articles listed (up to 80) and parses the results for extra information\n* Caches the profile for a day, and articles for a week (need to confirm this is working)\n  * This is in memory, so if the program is restarted, the cache is lost\n* Configurable limit to number of articles to query in one go\n* On-disk caching of the profile and articles to avoid hitting the rate limit\n\n## TODO:\n* Pagination of articles\n* Add throttling to avoid hitting the rate limit (figure out what the limit is)\n\n## Possible throttle info:\nhttps://stackoverflow.com/questions/60271587/how-long-is-the-error-429-toomanyrequests-cooldown","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcompscidr%2Fscholar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcompscidr%2Fscholar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcompscidr%2Fscholar/lists"}