diff --git a/scrapling/engines/toolbelt/custom.py b/scrapling/engines/toolbelt/custom.py index 9705eb3..62c8452 100644 --- a/scrapling/engines/toolbelt/custom.py +++ b/scrapling/engines/toolbelt/custom.py @@ -84,6 +84,8 @@ def get_value(cls, content_type: Optional[str], text: Optional[str] = 'test') -> class Response(Adaptor): """This class is returned by all engines as a way to unify response type between different libraries.""" + _is_response_result_logged = False # Class-level flag, initialized to False + def __init__(self, url: str, text: str, body: bytes, status: int, reason: str, cookies: Dict, headers: Dict, request_headers: Dict, encoding: str = 'utf-8', method: str = 'GET', **adaptor_arguments: Dict): automatch_domain = adaptor_arguments.pop('automatch_domain', None) @@ -97,7 +99,9 @@ def __init__(self, url: str, text: str, body: bytes, status: int, reason: str, c # For back-ward compatibility self.adaptor = self # For easier debugging while working from a Python shell - log.info(f'Fetched ({status}) <{method} {url}> (referer: {request_headers.get("referer")})') + if not Response._is_response_result_logged: + log.info(f'Fetched ({status}) <{method} {url}> (referer: {request_headers.get("referer")})') + Response._is_response_result_logged = True # def __repr__(self): # return f'<{self.__class__.__name__} [{self.status} {self.reason}]>'