import json
from playwright.sync_api import sync_playwright

def inspect_snapchat_profile(username):
    with sync_playwright() as p:
        browser = p.chromium.launch(headless=True)
        context = browser.new_context(user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64)')
        page = context.new_page()
        page.goto(f"https://www.snapchat.com/add/{username}")
        page.wait_for_load_state("domcontentloaded")
        
        next_data = page.evaluate("() => { const el = document.getElementById('__NEXT_DATA__'); return el ? el.innerText : null; }")
        browser.close()
        
        if next_data:
            data = json.loads(next_data)
            page_props = data.get('props', {}).get('pageProps', {})
            
            user_info = page_props.get('userProfile', {}).get('userInfo', {})
            print("--- User Info ---")
            print(json.dumps(user_info, indent=2)[:500])
            
            story = page_props.get('story', {})
            print("\n--- Story ---")
            if story:
                print("Story keys:", story.keys())
                snaps = story.get('snaps', [])
                print(f"Number of snaps: {len(snaps)}")
                if snaps:
                    print("First snap keys:", snaps[0].keys())
                    print("First snap data:", json.dumps(snaps[0], indent=2)[:500])
            else:
                print("No story data.")
        else:
            print("No __NEXT_DATA__ found")

if __name__ == "__main__":
    inspect_snapchat_profile("djkhaled")
