Scrape user data from Goodreads
Project description
Scrape Goodreads User Data: Profile, Book Shelves, Books, Authors
Contents
Usage
Using pip:
pip install goodreads-user-scraper
goodreads-user-scraper --user_id <your id> --output_dir goodreads-data
Using pipx:
pipx run goodreads-user-scraper --user_id <your id> --output_dir goodreads-data
Arguments
--user_id
- Description: The user whose data should be scraped. Find your user id using these directions.
- Required: Yes
--output_dir
- Description: The directory where all scraped data will be output.
- Required: No
- Default:
goodreads-data
--skip_user_info
- Description: Whether the script should skip scraping user information.
- Required: No
- Default:
False
--skip_shelves
- Description: Whether the script should skip scraping shelves.
- Required: No
- Default:
False
--skip_authors
- Description: Whether the script should skip scraping authors.
- Required: No
- Default:
False
Troubleshooting
Ensure that your profile is viewable by anyone:
- Navigate to the Goodreads Account Settings page
- Click on the
Account & notificationstab - In the
Privacysection, under Who Can View My Profile, select "anyone". Save your account settings.
Development
-
Clone the GitHub repository
git clone https://github.com/YashTotale/goodreads-user-scraper.git
-
Run the install script
bash scripts/install.sh -
Make changes
-
Run the test script
bash scripts/test.sh
Publishing
Publishing is automated via GitHub Actions using PyPI Trusted Publishing (OIDC) — no API tokens are stored.
Run the publish script with the version bump type:
bash scripts/publish.sh <patch|minor|major>
The script bumps the version, creates a git tag, and pushes it. The publish workflow builds the distribution and uploads it to PyPI on any pushed v* tag.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file goodreads_user_scraper-1.2.5.tar.gz.
File metadata
- Download URL: goodreads_user_scraper-1.2.5.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d089e3b8d783df105e66242047c2d145e4e7fcaa11975795afeeb8bc8e780b66
|
|
| MD5 |
47be1cc64e6a76847e1b4768cdc0defd
|
|
| BLAKE2b-256 |
726b14197fdf3f1fe09adaecfb7723c913028a60daffab6b1567364acfc397a2
|
Provenance
The following attestation bundles were made for goodreads_user_scraper-1.2.5.tar.gz:
Publisher:
publish.yml on YashTotale/goodreads-user-scraper
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
goodreads_user_scraper-1.2.5.tar.gz -
Subject digest:
d089e3b8d783df105e66242047c2d145e4e7fcaa11975795afeeb8bc8e780b66 - Sigstore transparency entry: 1651783102
- Sigstore integration time:
-
Permalink:
YashTotale/goodreads-user-scraper@5d1a6b425a39e0b5b191756bfdfaf2e2fac1cf6f -
Branch / Tag:
refs/tags/v1.2.5 - Owner: https://github.com/YashTotale
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5d1a6b425a39e0b5b191756bfdfaf2e2fac1cf6f -
Trigger Event:
push
-
Statement type:
File details
Details for the file goodreads_user_scraper-1.2.5-py3-none-any.whl.
File metadata
- Download URL: goodreads_user_scraper-1.2.5-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
820f6b02629657a5568fe6300d84685d411c1f3666093b8d9768254d1843a7d7
|
|
| MD5 |
d016219ca5bf2fe2b4f1ec2282a8530d
|
|
| BLAKE2b-256 |
c0d3a275dcf89643de87039bbdad74f92dbfafba824e98e6c7e0acaf74b34f70
|
Provenance
The following attestation bundles were made for goodreads_user_scraper-1.2.5-py3-none-any.whl:
Publisher:
publish.yml on YashTotale/goodreads-user-scraper
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
goodreads_user_scraper-1.2.5-py3-none-any.whl -
Subject digest:
820f6b02629657a5568fe6300d84685d411c1f3666093b8d9768254d1843a7d7 - Sigstore transparency entry: 1651783196
- Sigstore integration time:
-
Permalink:
YashTotale/goodreads-user-scraper@5d1a6b425a39e0b5b191756bfdfaf2e2fac1cf6f -
Branch / Tag:
refs/tags/v1.2.5 - Owner: https://github.com/YashTotale
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5d1a6b425a39e0b5b191756bfdfaf2e2fac1cf6f -
Trigger Event:
push
-
Statement type: