create static method
Factory constructor to create an AdvancedWebScraper with default components
Implementation
static Future<AdvancedWebScraper> create({
required ProxyManager proxyManager,
int defaultTimeout = 30000,
int maxRetries = 3,
bool handleCookies = true,
bool followRedirects = true,
bool respectRobotsTxt = true,
int maxConcurrentTasks = 5,
}) async {
final logger = ScrapingLogger();
final cookieManager = await CookieManager.create();
final robotsTxtHandler = RobotsTxtHandler(
proxyManager: proxyManager,
logger: logger,
respectRobotsTxt: respectRobotsTxt,
);
final rateLimiter = EnhancedRateLimiter(
robotsTxtHandler: robotsTxtHandler,
logger: logger,
maxRetries: maxRetries,
);
final streamingParser = StreamingHtmlParser(logger: logger);
final memoryEfficientParser = MemoryEfficientParser(logger: logger);
final taskQueue = ScrapingTaskQueue(
maxConcurrentTasks: maxConcurrentTasks,
logger: logger,
);
return AdvancedWebScraper(
proxyManager: proxyManager,
cookieManager: cookieManager,
rateLimiter: rateLimiter,
robotsTxtHandler: robotsTxtHandler,
streamingParser: streamingParser,
memoryEfficientParser: memoryEfficientParser,
taskQueue: taskQueue,
logger: logger,
defaultTimeout: defaultTimeout,
maxRetries: maxRetries,
handleCookies: handleCookies,
followRedirects: followRedirects,
respectRobotsTxt: respectRobotsTxt,
maxConcurrentTasks: maxConcurrentTasks,
);
}