From c8e677c025285c3ca3c3a21b089a9f76e978d7de Mon Sep 17 00:00:00 2001 From: Aira Catapang Date: Wed, 18 Mar 2026 10:58:20 +0000 Subject: [PATCH] Update main.py --- main.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/main.py b/main.py index 9b54e0c..b61addb 100644 --- a/main.py +++ b/main.py @@ -133,17 +133,28 @@ class AnimePahe: async def _scrape_ids(self, session: str) -> dict: page = await self.context.new_page() try: - await page.goto( - f"{BASE_URL}/anime/{session}", - wait_until="domcontentloaded", - timeout=30000, - ) + # 1. Apply stealth to bypass Cloudflare on the info page + await Stealth().apply_stealth_async(page) + + # 2. Use wait_until="commit" and catch timeouts just like we did in resolve + try: + await page.goto( + f"{BASE_URL}/anime/{session}", + wait_until="commit", + timeout=30000, + ) + except Exception as e: + if "Timeout" not in str(e): + raise e + + # Wait for the main anime content to appear try: await page.wait_for_selector( - "div.anime-info, div.anime-summary, aside, main", timeout=10000 + "div.anime-info, div.anime-summary, aside, main", timeout=15000 ) except: pass + await asyncio.sleep(2) ids = await page.evaluate("""() => { let ids = {}