create static method
Factory constructor to create a PivoxScraper with default components
Implementation
static Future<PivoxScraper> create({
required ProxyManager proxyManager,
int defaultTimeout = 30000,
int maxRetries = 3,
int defaultDelayMs = 1000,
Map<String, int>? domainDelays,
List<String>? userAgents,
bool handleCookies = true,
bool followRedirects = true,
bool useDatabase = true,
}) async {
// Create components
final rateLimiter = RateLimiter(
defaultDelayMs: defaultDelayMs,
domainDelays: domainDelays,
);
final userAgentRotator = UserAgentRotator(userAgents: userAgents);
final cookieManager = await CookieManager.create();
final scraper = await AdvancedWebScraper.create(
proxyManager: proxyManager,
defaultTimeout: defaultTimeout,
maxRetries: maxRetries,
handleCookies: handleCookies,
followRedirects: followRedirects,
);
final storageManager = await DataCacheManager.create(
useDatabase: useDatabase,
);
final jobScheduler = await ScrapingJobScheduler.create(scraper);
return PivoxScraper(
scraper: scraper,
rateLimiter: rateLimiter,
userAgentRotator: userAgentRotator,
cookieManager: cookieManager,
storageManager: storageManager,
jobScheduler: jobScheduler,
);
}