video-finder-algorithm/search_more_videos.py
Gauri Joshi 970c569395 init
2025-08-27 14:30:43 +02:00

58 lines
1.9 KiB
Python

#!/usr/bin/env python3
import os
from dotenv import load_dotenv
from src.database.manager import setup_database_tables
from src.database.video_operations import save_videos_to_database, save_video_features_to_database
from src.youtube.search import search_youtube_videos_by_query, get_coding_search_queries
from src.youtube.details import get_video_details_from_youtube
from src.youtube.utils import remove_duplicate_videos
from src.ml.feature_extraction import extract_all_features_from_video
load_dotenv()
def search_more_videos():
api_key = os.getenv('YOUTUBE_API_KEY')
if not api_key:
print("Error: YOUTUBE_API_KEY not found in environment variables")
return
db_path = "video_inspiration.db"
setup_database_tables(db_path)
print("🔍 Searching for more coding videos...")
# Use different/additional search queries to find new videos
additional_queries = [
# Add your additional search queries here
# Examples:
# "python tutorial",
# "web development course",
# "coding interview prep",
# "javascript frameworks",
# "database tutorial"
]
all_videos = []
for query in additional_queries:
print(f" Searching: {query}")
video_ids = search_youtube_videos_by_query(api_key, query, 10)
videos = get_video_details_from_youtube(api_key, video_ids)
all_videos.extend(videos)
unique_videos = remove_duplicate_videos(all_videos)
if unique_videos:
save_videos_to_database(unique_videos, db_path)
for video in unique_videos:
features = extract_all_features_from_video(video)
save_video_features_to_database(video['id'], features, db_path)
print(f"✅ Found and saved {len(unique_videos)} new videos!")
else:
print("❌ No new videos found.")
if __name__ == "__main__":
search_more_videos()