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.2.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.2-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file youtube_collector-0.0.2.tar.gz.

File metadata

  • Download URL: youtube_collector-0.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 5f34376c8d2cc1cd8635c73a77a0982cea6fe127ba5a80df85ae91a25a208ed8
MD5 8df114537954d471cb55a01d70f70f84
BLAKE2b-256 d928fb442a8d7c2fa86f4a9c8213a7fb3f0abbf8e0c57ca9ca56372b8065117b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for youtube_collector-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0ecefb682301a89ea4af22e161ecaa65c42f245990fa7de64ea100c17843bf0a
MD5 777b4ec98402b2d8fc70ada38f55fbe9
BLAKE2b-256 738b8d911cce6ffe32bd0597aea1789f2f6b1bb092958c77dc9e8639cc8f6ef7

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