Synthèse
Tier 3 utilise Playwright pour l'automatisation complète du navigateur avec exécution réelle de JavaScript, permettant de scraper les sites dynamiques basés sur React, Vue ou Angular. Cette approche gère les manipulations DOM, les sessions et les applications monopage, mais prend 10-20 secondes d'exécution. Elle résout environ 10-15% des cas d'échec des deux premiers niveaux de scraping.
When even perfect headers aren't enough (because the site needs actual JavaScript execution), we use Playwright. typescriptimport { chromium } from 'playwright'; const browser = await chromium. launch(); const page = await browser. newPage(); await page. goto('https://dynamic-site.
com'); await page. waitForLoadState('networkidle'); const content = await page. content();123456789 This is an actual Chrome browser running - not pretending, actually executing: Real JavaScript rendering - React, Vue, Angular, all of it worksDOM manipulation - Dynamic content loading works naturallyCookie/session handling - Maintains state like a real user sessionNetwork interception - Can monitor what the page is doing Single-page applications that load everything with JavaScriptSites that generate content dynamicallyComplex web apps with client-side logic The downside? Takes 10-20 seconds because we're running an actual browser. But when you need it, nothing else works.
This tier catches another 10-15% of sites that the first two couldn't handle. ⏱️ When you see "empty content" from Tier 1 or Tier 2, it's usually a JavaScript-heavy site. Skip straight to Tier 3 on retry to save time.