persist raw attributes and tighten sync assertions
This commit is contained in:
@@ -22,10 +22,10 @@ class NetworkCapture:
|
||||
_seen_resp: set[str] = field(default_factory=set)
|
||||
_origin: str | None = None
|
||||
|
||||
def attach(self, page: Page) -> None:
|
||||
def attach(self, page: Page, origin_url: str | None = None) -> None:
|
||||
# Подписываемся на request/response события страницы.
|
||||
try:
|
||||
self._origin = urlparse(page.url).netloc.lower() or None
|
||||
self._origin = urlparse(origin_url or page.url).netloc.lower() or None
|
||||
except Exception:
|
||||
self._origin = None
|
||||
page.on("request", self._on_request)
|
||||
@@ -47,7 +47,7 @@ class NetworkCapture:
|
||||
if len(self.requests) >= self.settings.gentle.max_requests:
|
||||
return
|
||||
key = f"{request.method}:{request.url}:{request.post_data or ''}"
|
||||
# Дедупликация одинаковых запросов.
|
||||
# Дедупликация одинаковых запросов.
|
||||
if key in self._seen_req:
|
||||
return
|
||||
self._seen_req.add(key)
|
||||
@@ -95,7 +95,7 @@ class NetworkCapture:
|
||||
|
||||
@staticmethod
|
||||
def _categorize(url: str) -> str:
|
||||
# Простая эвристика для разбивки ответов по смыслу.
|
||||
# Простая эвристика для разбивки ответов по смыслу.
|
||||
low = url.lower()
|
||||
mapping = {
|
||||
"images": ["image", "media", "photos", "gallery"],
|
||||
|
||||
Reference in New Issue
Block a user