#!/usr/bin/env python3 """ Quick Crawailer demo for asciinema recording Shows basic usage vs requests failure """ import asyncio import requests from rich.console import Console from rich.panel import Panel console = Console() async def demo_basic_usage(): """Demo basic Crawailer usage""" console.print("\nš·ļø [bold blue]Crawailer Demo[/bold blue] - The web scraper that doesn't suck at JavaScript\n") # Show requests failure console.print("š [red]What happens with requests:[/red]") console.print("```python") console.print("import requests") console.print("response = requests.get('https://react-app.example.com')") console.print("print(response.text)") console.print("```") # Simulate requests response console.print("\n[red]Result:[/red] [dim]
[/dim] š¢\n") # Show Crawailer solution console.print("š [green]What happens with Crawailer:[/green]") console.print("```python") console.print("import crawailer as web") console.print("content = await web.get('https://react-app.example.com')") console.print("print(content.markdown)") console.print("```") await asyncio.sleep(2) # Simulate Crawailer response console.print("\n[green]Result:[/green]") console.print(Panel.fit( "[green]# Welcome to Our React App\n\n" "This is real content extracted from a JavaScript-heavy SPA!\n\n" "- šÆ Product catalog with 247 items\n" "- š° Dynamic pricing loaded via AJAX\n" "- š Search functionality working\n" "- š Real-time analytics dashboard\n\n" "**Word count:** 1,247 words\n" "**Reading time:** 5 minutes[/green]", title="⨠Actual Content", border_style="green" )) console.print("\nā” [bold]The difference?[/bold] Crawailer executes JavaScript like a real browser!") console.print("š [bold green]Your AI assistant can now access ANY website![/bold green]") if __name__ == "__main__": asyncio.run(demo_basic_usage())