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

Uploaded Python 3

File details

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

File metadata

  • Download URL: youtube_collector-0.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 60c231b22b994d5de65e6240a5e515fe093e583c8ffe83455b36ea5f69f1a46f
MD5 2d4fb32a5f751c56690a12ce6520be79
BLAKE2b-256 5058cce05a0951e4e9c420670218f6ebdccdd3f25c15198cb6fd2fe4d59d586b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for youtube_collector-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3a6311d060209438593b6ac2541de4e0866c17c27ec8dc02faf8f06bb380fe9a
MD5 e951ac1a6a54cb072488821c5c3cb4b7
BLAKE2b-256 2da560e0b504746f9357404fa03cee73c4c2a9621da875d1e25c8cc1ec1a5f78

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