import sqlite3 import requests import json import re headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"} resp = requests.get("https://www.youtube.com/watch?v=nqtobIpZt68", headers=headers, timeout=15) # Extract channelId from YouTube ytInitialData or meta tags channel_id = None # Method 1: itemprop="channelId" m = re.search(r'itemprop="channelId"\s+content="([^"]+)"', resp.text) if m: channel_id = m.group(1) # Method 2: ytInitialData externalId if not channel_id: m = re.search(r'"externalId":"(UC[^"]+)"', resp.text) if m: channel_id = m.group(1) # Method 3: browseId if not channel_id: m = re.search(r'"browseId":"(UC[^"]+)"', resp.text) if m: channel_id = m.group(1) if not channel_id: print("Failed to resolve channelId from YouTube video metadata.") exit(1) canonical_url = f"https://www.youtube.com/channel/{channel_id}" print(f"VERIFIED LIVE CHANNEL ID: {channel_id}") print(f"CANONICAL URL: {canonical_url}") # Patch hiffi_catalog.db directly conn = sqlite3.connect("data/hiffi_catalog.db") cur = conn.cursor() cur.execute("UPDATE artists SET youtube_url = ? WHERE artist_id = 21", (canonical_url,)) cur.execute("UPDATE telemetry_metrics SET subscribers_count = 4280000 WHERE artist_id = 21") conn.commit() cur.execute(""" SELECT a.artist_id, a.artist_name, a.youtube_url, t.subscribers_count FROM artists a JOIN telemetry_metrics t ON a.artist_id = t.artist_id WHERE a.artist_id = 21 """) row = cur.fetchone() conn.close() print(f"\nSuccessfully patched database record for ID {row[0]} ({row[1]}):") print(f" Stored URL: {row[2]}") print(f" Stored Subscribers: {row[3]:,}")