Spaces:
Runtime error
Runtime error
# Magic Mode & Anti-Bot Protection | |
Crawl4AI provides powerful anti-detection capabilities, with Magic Mode being the simplest and most comprehensive solution. | |
## Magic Mode | |
The easiest way to bypass anti-bot protections: | |
```python | |
async with AsyncWebCrawler() as crawler: | |
result = await crawler.arun( | |
url="https://example.com", | |
magic=True # Enables all anti-detection features | |
) | |
``` | |
Magic Mode automatically: | |
- Masks browser automation signals | |
- Simulates human-like behavior | |
- Overrides navigator properties | |
- Handles cookie consent popups | |
- Manages browser fingerprinting | |
- Randomizes timing patterns | |
## Manual Anti-Bot Options | |
While Magic Mode is recommended, you can also configure individual anti-detection features: | |
```python | |
result = await crawler.arun( | |
url="https://example.com", | |
simulate_user=True, # Simulate human behavior | |
override_navigator=True # Mask automation signals | |
) | |
``` | |
Note: When `magic=True` is used, you don't need to set these individual options. | |
## Example: Handling Protected Sites | |
```python | |
async def crawl_protected_site(url: str): | |
async with AsyncWebCrawler(headless=True) as crawler: | |
result = await crawler.arun( | |
url=url, | |
magic=True, | |
remove_overlay_elements=True, # Remove popups/modals | |
page_timeout=60000 # Increased timeout for protection checks | |
) | |
return result.markdown if result.success else None | |
``` | |