Skip to main content

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

youtube_collector-0.0.5.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

youtube_collector-0.0.5-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

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

Hashes for youtube_collector-0.0.5.tar.gz
Algorithm Hash digest
SHA256 5b55d788d2e959838f355c60986699d388345fa516c459e8c543a40220580912
MD5 2eca40e0ac8ab3a2d14b26105cc93fc3
BLAKE2b-256 d5c516f9255462f908e95357ae010fa7f412322b84a77312d82231ce21d796d2

See more details on using hashes here.

File details

Details for the file youtube_collector-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for youtube_collector-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a8e39ef664d56e4848828c3293398d62b2dc9568eb7c30daccc59a0db311bb2d
MD5 51d67d01d6296eeb7791f9012d3f1086
BLAKE2b-256 0e592f8e276e9813239db7c3100745a336317b276f1b08150c3468500e927180

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page