Files
hiffi-artist-intelligence/scripts/resolve_suicideboys.py
T

56 lines
1.7 KiB
Python
Raw Normal View History

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]:,}")