{"id":19416813,"url":"https://github.com/davidalgis/zotero2semanticscholar","last_synced_at":"2025-04-24T13:33:07.770Z","repository":{"id":58936714,"uuid":"534566079","full_name":"davidAlgis/zotero2SemanticScholar","owner":"davidAlgis","description":"Send zotero libraby to semantic scholar and add alert on them","archived":false,"fork":false,"pushed_at":"2025-04-11T09:38:22.000Z","size":3320,"stargazers_count":36,"open_issues_count":5,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-11T11:38:34.255Z","etag":null,"topics":["scrapping","selenium","semanticscholar","zotero"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/davidAlgis.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,"zenodo":null}},"created_at":"2022-09-09T08:43:15.000Z","updated_at":"2025-04-11T09:38:25.000Z","dependencies_parsed_at":"2024-12-20T16:27:56.283Z","dependency_job_id":"c01ce5a7-85a1-457c-a166-0242898e8bfe","html_url":"https://github.com/davidAlgis/zotero2SemanticScholar","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidAlgis%2Fzotero2SemanticScholar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidAlgis%2Fzotero2SemanticScholar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidAlgis%2Fzotero2SemanticScholar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidAlgis%2Fzotero2SemanticScholar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davidAlgis","download_url":"https://codeload.github.com/davidAlgis/zotero2SemanticScholar/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250636244,"owners_count":21463036,"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":["scrapping","selenium","semanticscholar","zotero"],"created_at":"2024-11-10T13:05:29.431Z","updated_at":"2025-04-24T13:33:07.726Z","avatar_url":"https://github.com/davidAlgis.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Zotero to Semantic Scholar\n\nZotero and Semantic Scholar are very powerful tools. I personally use the first one to manage my bibliography and generate BibTeX for my own notes, and the second one as an alternative to Google Scholar to alert me about newly published papers.  \nHowever, it can be tedious to manually enter your bibliography into each site, especially when it consists of hundreds of different papers! Therefore, I created this project __to send the bibliography from Zotero to Semantic Scholar and to add alerts on articles__.\n\n## How to Send Data to Semantic Scholar\n\nIn Zotero, export your library in __CSV format__ (File \u003e Export Library).\n\nDownload and extract the [`ZoteroToSemanticScholar.zip`](https://github.com/davidAlgis/zotero2SemanticScholar/releases/tag/v0.2) file, then open the executable `ZoteroToSemanticScholar.exe`. Some antivirus software may quarantine the executable for unknown reasons, but as the open-source code in this repository shows, this software contains nothing malicious. You might need to install [Google Chrome](https://www.google.fr/chrome/) browser as it is needed for the scrapping. \n\nIn the interface, complete the login and password fields with your Semantic Scholar account information. Select the CSV file you exported earlier. If you don't select a CSV file, it will look by default for a `bibliography.csv` file in the current folder. Finally, click on _Send data to SemanticScholar.com..._, wait a few minutes... and that's it! 🙂 \n\nSince Semantic Scholar appears to have added bot detection systems, I had to implement methods to remain undetected, which unfortunately slows down the software significantly.\n\nThe software includes a save system to keep track of which papers have been sent to Semantic Scholar. Therefore, if you need to send a new portion of your library to Semantic Scholar, it will only send the new articles. Likewise, if the application crashes, your progress will be saved.\n\n## Console Mode\n\nUsers who prefer to use the terminal rather than the graphical interface can use the following commands:\n\n- **`-l, --login`**: Your Semantic Scholar login email.\n- **`-i, --input_bibliography`**: Path to the input bibliography CSV file exported from Zotero.\n\nFor example:\n```bash\npython main.py -l user@example.com -i bibliography.csv\n```\n\nYou will be asked for your password afterward.\n\n## Manual Execution (Advanced Users)\n\nIf you don't want to use the executable or want to generate it yourself:\n\n1. Ensure you have [Python 3](https://www.python.org/downloads/) installed.\n2. Install the packages listed in `requirements.txt` using this command:\n```bash\npip install -r requirements.txt\n```\n3. You might need to download Google Chrome to enable scraping.\n\n4. Finally, execute the `main.py` file:\n```bash\npython .\\main.py\n```\n\n### Build Executable\n\nIf you want to build the executable manually, follow these steps:\n1. Create a dedicated environment to avoid including unnecessary dependencies:\n```bash\npython -m venv env\nenv\\Scripts\\activate\n```\n\n2. Install the dependencies:\n```bash\npip install -r requirements.txt\n```\n\n3. Finally call the build process with:\n```bash\npython setup.py build\n```\n\n## Notes\n\n- I haven't tested the project on platforms other than Windows, but it should work on Linux or macOS with possible additional installations.\n- Currently, the application only processes Zotero items of these types: `journalArticle`, `conferencePaper`, `bookSection`, `preprint`, `thesis`, or `book`. If you want to include other types, modify the method `_csvToDataList` of `main.py`.\n\nIf you encounter any issues with the application, feel free to report them on [GitHub Issues](https://github.com/davidAlgis/zotero2SemanticScholar/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidalgis%2Fzotero2semanticscholar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidalgis%2Fzotero2semanticscholar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidalgis%2Fzotero2semanticscholar/lists"}