Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/egbertbouman/youtube-comment-downloader
Simple script for downloading Youtube comments without using the Youtube API
https://github.com/egbertbouman/youtube-comment-downloader
data-science data-scraper python youtube youtube-comments
Last synced: 2 days ago
JSON representation
Simple script for downloading Youtube comments without using the Youtube API
- Host: GitHub
- URL: https://github.com/egbertbouman/youtube-comment-downloader
- Owner: egbertbouman
- License: mit
- Created: 2015-08-31T17:09:54.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-08-10T22:01:17.000Z (5 months ago)
- Last Synced: 2025-01-01T23:06:24.459Z (9 days ago)
- Topics: data-science, data-scraper, python, youtube, youtube-comments
- Language: Python
- Homepage:
- Size: 60.5 KB
- Stars: 942
- Watchers: 25
- Forks: 233
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# youtube-comment-downloader
Simple script for downloading Youtube comments without using the Youtube API. The output is in line delimited JSON.### Installation
Preferably inside a [python virtual environment](https://virtualenv.pypa.io/en/latest/) install this package via:
```
pip install youtube-comment-downloader
```Or directly from the GitHub repository:
```
pip install https://github.com/egbertbouman/youtube-comment-downloader/archive/master.zip
```### Usage as command-line interface
```
$ youtube-comment-downloader --help
usage: youtube-comment-downloader [--help] [--youtubeid YOUTUBEID] [--url URL] [--output OUTPUT] [--limit LIMIT] [--language LANGUAGE] [--sort SORT]Download Youtube comments without using the Youtube API
optional arguments:
--help, -h Show this help message and exit
--youtubeid YOUTUBEID, -y YOUTUBEID ID of Youtube video for which to download the comments
--url URL, -u URL Youtube URL for which to download the comments
--output OUTPUT, -o OUTPUT Output filename (output format is line delimited JSON)
--pretty, -p Change the output format to indented JSON
--limit LIMIT, -l LIMIT Limit the number of comments
--language LANGUAGE, -a LANGUAGE Language for Youtube generated text (e.g. en)
--sort SORT, -s SORT Whether to download popular (0) or recent comments (1). Defaults to 1
```For example:
```
youtube-comment-downloader --url https://www.youtube.com/watch?v=ScMzIvxBSi4 --output ScMzIvxBSi4.json
```
or using the Youtube ID:
```
youtube-comment-downloader --youtubeid ScMzIvxBSi4 --output ScMzIvxBSi4.json
```For Youtube IDs starting with - (dash) you will need to run the script with:
`-y=idwithdash` or `--youtubeid=idwithdash`### Usage as library
You can also use this script as a library. For instance, if you want to print out the 10 most popular comments for a particular Youtube video you can do the following:```python
from itertools import islice
from youtube_comment_downloader import *
downloader = YoutubeCommentDownloader()
comments = downloader.get_comments_from_url('https://www.youtube.com/watch?v=ScMzIvxBSi4', sort_by=SORT_BY_POPULAR)
for comment in islice(comments, 10):
print(comment)
```