feat(StealthyFetcher): The ability to pass additional arguments to Camoufox

This commit is contained in:
Karim shoair
2025-03-26 05:36:05 +02:00
parent a0952dca8f
commit d33e738c53
2 changed files with 10 additions and 2 deletions
+4
View File
@@ -22,6 +22,7 @@ class CamoufoxEngine:
proxy: Optional[Union[str, Dict[str, str]]] = None, os_randomize: bool = False, disable_ads: bool = False,
geoip: bool = False,
adaptor_arguments: Dict = None,
**additional_arguments: Dict
):
"""An engine that utilizes Camoufox library, check the `StealthyFetcher` class for more documentation.
@@ -48,6 +49,7 @@ class CamoufoxEngine:
:param extra_headers: A dictionary of extra headers to add to the request. _The referer set by the `google_search` argument takes priority over the referer set here if used together._
:param proxy: The proxy to be used with requests, it can be a string or a dictionary with the keys 'server', 'username', and 'password' only.
:param adaptor_arguments: The arguments that will be passed in the end while creating the final Adaptor's class.
:param additional_arguments: Any Additional arguments will be passed to Camoufox as additional settings and takes higher priority than Scrapling's settings.
"""
self.headless = headless
self.block_images = bool(block_images)
@@ -60,6 +62,7 @@ class CamoufoxEngine:
self.disable_ads = bool(disable_ads)
self.geoip = bool(geoip)
self.extra_headers = extra_headers or {}
self.additional_arguments = additional_arguments
self.proxy = construct_proxy_dict(proxy)
self.addons = addons or []
self.humanize = humanize
@@ -92,6 +95,7 @@ class CamoufoxEngine:
"block_webrtc": self.block_webrtc,
"block_images": self.block_images, # Careful! it makes some websites doesn't finish loading at all like stackoverflow even in headful
"os": None if self.os_randomize else get_os_name(),
**self.additional_arguments
}
def _process_response_history(self, first_response):