https://github.com/zigai/twitch-scraper
Twitch clip/profile scraper
https://github.com/zigai/twitch-scraper
twitch twitch-api twitch-api-helix twitch-bot twitch-clips twitch-downloader twitch-scraper
Last synced: about 1 year ago
JSON representation
Twitch clip/profile scraper
- Host: GitHub
- URL: https://github.com/zigai/twitch-scraper
- Owner: zigai
- License: mit
- Created: 2022-07-20T08:26:01.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2025-02-14T16:20:02.000Z (over 1 year ago)
- Last Synced: 2025-03-29T12:03:27.554Z (about 1 year ago)
- Topics: twitch, twitch-api, twitch-api-helix, twitch-bot, twitch-clips, twitch-downloader, twitch-scraper
- Language: Python
- Homepage:
- Size: 71.3 KB
- Stars: 4
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Twitch scraper
Twitch clip/profile scraper.
Twitch API credentials are required.
# Installation
```
pip install git+https://github.com/zigai/twitch-scraper.git
```
# CLI usage
```
usage: twitch-scraper [-h] [-d] [-c] [--verbose | --no-verbose] SAVE-DIR CLIENT-ID BEARER {clips,profiles} ...
_ _ _ _
| |___ _(_) |_ ___| |__ ___ ___ _ __ __ _ _ __ ___ _ __
| __\ \ /\ / / | __/ __| '_ \ / __|/ __| '__/ _` | '_ \ / _ \ '__|
| |_ \ V V /| | || (__| | | | \__ \ (__| | | (_| | |_) | __/ |
\__| \_/\_/ |_|\__\___|_| |_| |___/\___|_| \__,_| .__/ \___|_|
|_|
positional arguments:
SAVE-DIR directory to save files [type: str] (*)
CLIENT-ID twitch.tv client ID [type: str] (*)
BEARER twitch.tv bearer token [type: str] (*)
{clips,profiles} ...
options:
-h, --help show this help message and exit
-d, --delay delay between requests (seconds) [type: float, default=0.5]
-c, --cache path to cache file [type: str?]
--verbose, --no-verbose print status messages.
commands:
clips Scrape Twitch.tv clips.
profiles Scrape Twitch.tv user profiles
```
```
usage: twitch-scraper SAVE-DIR CLIENT-ID BEARER clips [-h] [-u] [-g] [-s] [-e] [-l]
Scrape Twitch.tv clips.
options:
-h, --help show this help message and exit
-u, --username username of the streamer [type: str?]
-g, --game Name of the game [type: str?]
-s, --started-at starting date/time [type: datetime?]
-e, --ended-at ending date/time [type: datetime?]
-l, --limit maximum number of clips to scrape [type: int, default=1000]
```
```
usage: twitch-scraper SAVE-DIR CLIENT-ID BEARER profiles [-h] [USERNAMES ...]
Scrape Twitch.tv user profiles
positional arguments:
USERNAMES usernames of profiles to scrape [type: list[str]] (*)
options:
-h, --help show this help message and exit
```
# Library usage
```python
from datetime import datetime, timedelta
from twitch_scraper import TwitchScraper
scraper = TwitchScraper(
save_dir="./clips",
client_id=...,
bearer=...,
)
today = datetime.today()
scraper.clips(
game="League of Legends",
started_at=today - timedelta(days=7),
ended_at=today,
limit=50,
)
```
# License
[MIT License](https://github.com/zigai/twitch-scraper/blob/master/LICENSE)