Scrapling Fetch MCP

by cyberchitta
Verified
from contextlib import redirect_stdout from os import devnull from typing import Any async def browse_url(url: str, mode: str) -> Any: with open(devnull, "w") as nullfd, redirect_stdout(nullfd): from scrapling.defaults import AsyncFetcher, StealthyFetcher if mode == "basic": return await AsyncFetcher.get(url, stealthy_headers=True) elif mode == "stealth": return await StealthyFetcher.async_fetch( url, headless=True, network_idle=True ) elif mode == "max-stealth": return await StealthyFetcher.async_fetch( url, headless=True, block_webrtc=True, network_idle=True, disable_resources=False, block_images=False, ) else: raise ValueError(f"Unknown mode: {mode}")