A Python library for collecting YouTube data including channel videos, hashtag videos, keyword search, comments, and channel profiles
Project description
YouTube Collector
A Python library for collecting YouTube data including channel videos, hashtag videos, keyword search, comments, and channel profiles.
Features
- Collect posts by hashtag
- Collect tagged posts for a user
- Collect posts from brand accounts
- Collect comments from posts
- Support for multiple API providers (RocketAPI and SocialAPI4)
- Rate limiting and error handling
- Pagination support
- Time-based filtering
Installation
pip install youtube-collector
Usage
Collecting Channel Videos
from youtube_collector import YouTubeBrandCollector
collector = YouTubeBrandCollector(api_key="your_api_key")
videos = collector.collect_brand_posts(channel_id="your_channel_id")
print(videos)
Collecting Hashtag Videos
from youtube_collector import YouTubeHashtagCollector
collector = YouTubeHashtagCollector(api_key="your_api_key")
videos = collector.collect_posts_by_hashtag(hashtag_key="your_hashtag")
print(videos)
Collecting Keyword Videos
from youtube_collector import YouTubeKeywordCollector
collector = YouTubeKeywordCollector(api_key="your_api_key")
videos = collector.collect_posts_by_keyword(keyword="your_keyword")
print(videos)
Collecting Comments
from youtube_collector import YouTubeCommentCollector
collector = YouTubeCommentCollector(api_key="your_api_key")
comments = collector.collect_comments(video_id="your_video_id")
print(comments)
Collecting Channel Profile
from youtube_collector import YouTubeProfileCollector
collector = YouTubeProfileCollector(api_key="your_api_key")
profile = collector.collect_profile(channel_id="your_channel_id")
print(profile)
Collecting Recent Videos
from youtube_collector import YouTubeRecentPostCollector
collector = YouTubeRecentPostCollector(api_key="your_api_key")
videos = collector.collect_recent_posts(channel_id="your_channel_id")
print(videos)
Configuration
The library supports various configuration options:
max_hashtag_post_retry: Maximum retries for hashtag posts (default: 3)max_tagged_post_retry: Maximum retries for tagged posts (default: 3)max_brand_post_retry: Maximum retries for brand posts (default: 3)max_comment_retry: Maximum retries for comments (default: 3)
Error Handling
The library includes built-in error handling and retry mechanisms:
- Automatic retry on API failures
- Rate limiting to prevent API throttling
- Time-based filtering to limit data collection
- Exception handling for malformed responses
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
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 youtube_collector-0.0.5.tar.gz.
File metadata
- Download URL: youtube_collector-0.0.5.tar.gz
- Upload date:
- Size: 9.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b55d788d2e959838f355c60986699d388345fa516c459e8c543a40220580912
|
|
| MD5 |
2eca40e0ac8ab3a2d14b26105cc93fc3
|
|
| BLAKE2b-256 |
d5c516f9255462f908e95357ae010fa7f412322b84a77312d82231ce21d796d2
|
File details
Details for the file youtube_collector-0.0.5-py3-none-any.whl.
File metadata
- Download URL: youtube_collector-0.0.5-py3-none-any.whl
- Upload date:
- Size: 16.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8e39ef664d56e4848828c3293398d62b2dc9568eb7c30daccc59a0db311bb2d
|
|
| MD5 |
51d67d01d6296eeb7791f9012d3f1086
|
|
| BLAKE2b-256 |
0e592f8e276e9813239db7c3100745a336317b276f1b08150c3468500e927180
|