graph LR
AsyncWebCrawler["AsyncWebCrawler"]
AsyncDispatcher["AsyncDispatcher"]
Crawler_Implementations["Crawler Implementations"]
AsyncUrlSeeder["AsyncUrlSeeder"]
AsyncConfigs["AsyncConfigs"]
AsyncWebCrawler -- "invokes to obtain URLs from" --> AsyncUrlSeeder
AsyncWebCrawler -- "delegates tasks to" --> AsyncDispatcher
AsyncWebCrawler -- "relies on for parameters" --> AsyncConfigs
AsyncDispatcher -- "utilizes for settings" --> AsyncConfigs
AsyncDispatcher -- "dispatches tasks to" --> Crawler_Implementations
The Crawl Orchestration Engine subsystem primarily encompasses the crawl4ai package, with a specific focus on the async_dispatcher.py, async_webcrawler.py, and crawlers/ modules. These components collectively manage the lifecycle, task dispatch, and execution of web crawling operations. The Crawl Orchestration Engine operates as a pipeline where AsyncWebCrawler initiates the process by obtaining seed URLs from AsyncUrlSeeder. It then delegates the actual task management and execution to AsyncDispatcher. The AsyncDispatcher, in turn, dispatches these tasks to various Crawler Implementations for content retrieval, all while adhering to settings provided by AsyncConfigs. This establishes a clear flow from initial URL discovery to task execution and content acquisition.
The primary entry point and high-level orchestrator of the crawling process. It initiates the overall crawl lifecycle, manages the crawl state, and seeds initial URLs.
Related Classes/Methods:
The core task coordinator and executor for individual crawl tasks. It manages the URL queue, applies domain-specific rate limits, dispatches tasks to appropriate crawlers, and handles concurrent execution.
Related Classes/Methods:
Contains the concrete crawler implementations. These modules provide the actual logic for navigating, crawling, and extracting content from different types of web pages or domains, acting as the "workers" dispatched by the AsyncDispatcher.
Related Classes/Methods:
Responsible for discovering and providing initial URLs to the AsyncWebCrawler based on various strategies (e.g., sitemaps, common crawl data, initial seed lists).
Related Classes/Methods:
Manages and provides centralized configuration settings that influence the behavior of the AsyncDispatcher, AsyncWebCrawler, and underlying crawler implementations, ensuring consistent operational parameters.
Related Classes/Methods: