import asyncio, json, sys
from patchright.async_api import async_playwright

async def run():
    cookies_path = '/opt/scrapling-runner/cookies/instagram.json'
    with open(cookies_path, 'r', encoding='utf-8') as f:
        raw_cookies = json.load(f)
    playwright_cookies = []
    for c in raw_cookies:
        val = str(c.get('value', '')).strip()
        if val:
            playwright_cookies.append({'name': str(c['name']), 'value': val, 'url': 'https://www.instagram.com/'})

    targets = ['jean_philanthrope', 'archibald_brown']
    async with async_playwright() as p:
        browser = await p.chromium.launch(headless=True, args=['--no-sandbox','--disable-setuid-sandbox','--disable-dev-shm-usage'])
        context = await browser.new_context(viewport={'width':1280,'height':800},
            user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36')
        await context.add_cookies(playwright_cookies)
        page = await context.new_page()
        for uname in targets:
            url = f'https://www.instagram.com/{uname}/'
            print(f'=== {url}')
            try:
                resp = await page.goto(url, wait_until='domcontentloaded', timeout=25000)
                print('status', resp.status if resp else None)
                await asyncio.sleep(4)
                title = await page.title()
                print('title', title)
                desc = await page.evaluate("document.querySelector('meta[name=\"description\"]')?.content || ''")
                print('meta-description', desc)
                ogdesc = await page.evaluate("document.querySelector('meta[property=\"og:description\"]')?.content || ''")
                print('og-description', ogdesc)
                bodytext = await page.evaluate("document.body.innerText.slice(0,500)")
                print('body-snippet', bodytext.replace(chr(10),' | '))
            except Exception as e:
                print('ERR', e)
        await browser.close()

asyncio.run(run())
