Session Pools + Proxy Rotation + Fingerprint Rotation — Multi-Session Scraping #115
Labels
No labels
bug
docs
feature
housekeeping
html-spec
performance
react-compat
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
glow-all/true-headless-browser#115
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problembeschreibung
Für Scraping mit Proxy-Rotation und großvolumigen Crawls brauchen wir:
Aktuell: Ein Page = eine Session. Kein Pooling, keine Rotation.
Architektur
Option A: SessionPool als eigenständige Klasse
Option B: Session mit Proxy-Rotation
Option C: Browser Fingerprint Pool
Akzeptanzkriterien (Phase 1 — SessionPool)
SessionPoolKlasse mitacquire()/release()acquire()blockiert wenn alle Pages belegtrelease()gibt Page zurück, resettet CookieJar nichtacquire(5000)wirft Error wenn kein Page freiAkzeptanzkriterien (Phase 2 — Proxy Rotation)
ProxyRotatorKlassenext()gibt nächsten ProxymarkBad(proxy)→ proxy wird für N Sekunden gesperrtmarkGood(proxy)→ proxy wird bevorzugtPageOptions.proxyPoolakzeptiert ProxyRotatorAkzeptanzkriterien (Phase 3 — Fingerprint Rotation)
BrowserFingerprint[]in SessionPoolAccept-Languagepro SessionBetroffene Dateien
src/session/pool.tssrc/session/proxy-rotator.tssrc/session/fingerprints.tssrc/pages/page.tssrc/runtime-isolation.tstests/unit/session-pool.test.tsTestplan (25 Tests)
markBadsperrt Proxy temporärmarkGooderhöht PriorityDependencies
Performance Impact
SessionPool selbst: ~2ms overhead pro acquire/release.
Proxy Routing: ~0.1ms overhead pro Request.
Risks