@crawlee/browser 4.0.0-beta.64 → 4.0.0-beta.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,19 +1,14 @@
|
|
|
1
|
-
import type { Awaitable, BasicCrawlerOptions, BasicCrawlingContext, CrawlingContext, Dictionary, EnqueueLinksOptions, ErrorHandler, LoadedRequest, Request, RequestHandler,
|
|
1
|
+
import type { Awaitable, BasicCrawlerOptions, BasicCrawlingContext, CrawlingContext, Dictionary, EnqueueLinksOptions, ErrorHandler, IRequestManager, LoadedRequest, Request, RequestHandler, SkippedRequestCallback } from '@crawlee/basic';
|
|
2
2
|
import { BasicCrawler, ContextPipeline } from '@crawlee/basic';
|
|
3
3
|
import type { BrowserController, BrowserPlugin, BrowserPoolHooks, BrowserPoolOptions, CommonPage, InferBrowserPluginArray, LaunchContext } from '@crawlee/browser-pool';
|
|
4
|
-
import {
|
|
5
|
-
import type { BatchAddRequestsResult } from '@crawlee/types';
|
|
4
|
+
import type { BatchAddRequestsResult, IBrowserPool } from '@crawlee/types';
|
|
6
5
|
import type { RobotsTxtFile } from '@crawlee/utils';
|
|
7
6
|
import type { ReadonlyDeep } from 'type-fest';
|
|
8
7
|
import type { BrowserLaunchContext } from './browser-launcher.js';
|
|
9
8
|
interface BaseResponse {
|
|
10
9
|
status(): number;
|
|
11
10
|
}
|
|
12
|
-
export interface BrowserCrawlingContext<Page extends CommonPage = CommonPage, Response extends BaseResponse = BaseResponse,
|
|
13
|
-
/**
|
|
14
|
-
* An instance of the {@link BrowserController} that manages the browser instance and provides access to its API.
|
|
15
|
-
*/
|
|
16
|
-
browserController: ProvidedController;
|
|
11
|
+
export interface BrowserCrawlingContext<Page extends CommonPage = CommonPage, Response extends BaseResponse = BaseResponse, UserData extends Dictionary = Dictionary, GoToOptions extends Dictionary = Dictionary> extends CrawlingContext<UserData> {
|
|
17
12
|
/**
|
|
18
13
|
* The browser page object where the web page is loaded and rendered.
|
|
19
14
|
*/
|
|
@@ -37,8 +32,14 @@ export interface BrowserCrawlingContext<Page extends CommonPage = CommonPage, Re
|
|
|
37
32
|
enqueueLinks: (options?: EnqueueLinksOptions) => Promise<BatchAddRequestsResult>;
|
|
38
33
|
}
|
|
39
34
|
export type BrowserHook<Context = BrowserCrawlingContext> = (crawlingContext: Context) => Awaitable<void | Partial<Context>>;
|
|
40
|
-
export interface BrowserCrawlerOptions<Page extends CommonPage = CommonPage, Response extends BaseResponse = BaseResponse,
|
|
35
|
+
export interface BrowserCrawlerOptions<Page extends CommonPage = CommonPage, Response extends BaseResponse = BaseResponse, Context extends BrowserCrawlingContext<Page, Response, Dictionary> = BrowserCrawlingContext<Page, Response, Dictionary>, ContextExtension = Dictionary<never>, ExtendedContext extends Context = Context & ContextExtension, InternalBrowserPoolOptions extends BrowserPoolOptions = BrowserPoolOptions, __BrowserPlugins extends BrowserPlugin[] = InferBrowserPluginArray<InternalBrowserPoolOptions['browserPlugins']>, __BrowserControllerReturn extends BrowserController = ReturnType<__BrowserPlugins[number]['createController']>, __LaunchContextReturn extends LaunchContext = ReturnType<__BrowserPlugins[number]['createLaunchContext']>> extends Omit<BasicCrawlerOptions<Context, ExtendedContext>, 'requestHandler' | 'failedRequestHandler' | 'errorHandler'> {
|
|
41
36
|
launchContext?: BrowserLaunchContext<any, any>;
|
|
37
|
+
/**
|
|
38
|
+
* An existing browser pool instance to use. When provided, the crawler will use this pool directly instead of
|
|
39
|
+
* constructing a new one from `browserPoolOptions`, enabling browser sharing across multiple crawlers. The crawler
|
|
40
|
+
* will not tear down a shared pool — the caller is responsible for its lifecycle.
|
|
41
|
+
*/
|
|
42
|
+
browserPool?: IBrowserPool<Page>;
|
|
42
43
|
/**
|
|
43
44
|
* Function that is called to process each request.
|
|
44
45
|
*
|
|
@@ -49,7 +50,6 @@ export interface BrowserCrawlerOptions<Page extends CommonPage = CommonPage, Res
|
|
|
49
50
|
* - {@link BrowserCrawlingContext.page|`page`} is an instance of the
|
|
50
51
|
* Puppeteer [Page](https://pptr.dev/api/puppeteer.page) or
|
|
51
52
|
* Playwright [Page](https://playwright.dev/docs/api/class-page);
|
|
52
|
-
* - {@link BrowserCrawlingContext.browserController|`browserController`} is an instance of the {@link BrowserController};
|
|
53
53
|
* - {@link BrowserCrawlingContext.response|`response`} is an instance of the
|
|
54
54
|
* Puppeteer [Response](https://pptr.dev/api/puppeteer.httpresponse) or
|
|
55
55
|
* Playwright [Response](https://playwright.dev/docs/api/class-response),
|
|
@@ -176,15 +176,18 @@ export interface BrowserCrawlerOptions<Page extends CommonPage = CommonPage, Res
|
|
|
176
176
|
* If the target website doesn't need JavaScript, we should consider using the {@link CheerioCrawler},
|
|
177
177
|
* which downloads the pages using raw HTTP requests and is about 10x faster.
|
|
178
178
|
*
|
|
179
|
-
* The source URLs are represented by the {@link Request} objects that are fed from the
|
|
180
|
-
*
|
|
181
|
-
* constructor
|
|
179
|
+
* The source URLs are represented by the {@link Request} objects that are fed from the
|
|
180
|
+
* {@link IRequestManager|request manager} provided via the {@link BrowserCrawlerOptions.requestManager|`requestManager`}
|
|
181
|
+
* constructor option (a {@link RequestQueue} is itself a request manager). If no `requestManager` is provided,
|
|
182
182
|
* the crawler will open the default request queue either when the {@link BrowserCrawler.addRequests|`crawler.addRequests()`} function is called,
|
|
183
183
|
* or if `requests` parameter (representing the initial requests) of the {@link BrowserCrawler.run|`crawler.run()`} function is provided.
|
|
184
184
|
*
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
*
|
|
185
|
+
* To read from a read-only source such as a {@link RequestList} while still being able to enqueue new requests,
|
|
186
|
+
* combine it with a queue into a {@link RequestManagerTandem} via {@link IRequestLoader.toTandem|`requestLoader.toTandem()`}
|
|
187
|
+
* and pass the result as `requestManager`.
|
|
188
|
+
*
|
|
189
|
+
* > The {@link BrowserCrawlerOptions.requestList|`requestList`} and {@link BrowserCrawlerOptions.requestQueue|`requestQueue`}
|
|
190
|
+
* > options are deprecated; they are still accepted and folded into a single `requestManager` for back-compat.
|
|
188
191
|
*
|
|
189
192
|
* The crawler finishes when there are no more {@link Request} objects to crawl.
|
|
190
193
|
*
|
|
@@ -203,11 +206,19 @@ export interface BrowserCrawlerOptions<Page extends CommonPage = CommonPage, Res
|
|
|
203
206
|
*
|
|
204
207
|
* @category Crawlers
|
|
205
208
|
*/
|
|
206
|
-
export declare abstract class BrowserCrawler<Page extends CommonPage = CommonPage, Response extends BaseResponse = BaseResponse,
|
|
209
|
+
export declare abstract class BrowserCrawler<Page extends CommonPage = CommonPage, Response extends BaseResponse = BaseResponse, InternalBrowserPoolOptions extends BrowserPoolOptions = BrowserPoolOptions, LaunchOptions extends Dictionary | undefined = Dictionary, Context extends BrowserCrawlingContext<Page, Response, Dictionary> = BrowserCrawlingContext<Page, Response, Dictionary>, ContextExtension = Dictionary<never>, ExtendedContext extends Context = Context & ContextExtension, GoToOptions extends Dictionary = Dictionary> extends BasicCrawler<Context, ContextExtension, ExtendedContext> {
|
|
207
210
|
/**
|
|
208
|
-
* A reference to the underlying
|
|
211
|
+
* A reference to the underlying browser pool that manages the crawler's browsers. Typed as
|
|
212
|
+
* {@link IBrowserPool} so custom implementations can be plugged in via the `browserPool` constructor option.
|
|
209
213
|
*/
|
|
210
|
-
browserPool:
|
|
214
|
+
browserPool: IBrowserPool<Page>;
|
|
215
|
+
/**
|
|
216
|
+
* Set when the crawler constructed its own {@link BrowserPool} (no `browserPool` option was provided).
|
|
217
|
+
* Holds the same instance as `browserPool`, but typed as the concrete class so the crawler can call
|
|
218
|
+
* lifecycle methods (`destroy`) that aren't part of {@link IBrowserPool}. A user-supplied pool is
|
|
219
|
+
* never owned and never torn down by the crawler.
|
|
220
|
+
*/
|
|
221
|
+
private ownedBrowserPool?;
|
|
211
222
|
launchContext: BrowserLaunchContext<LaunchOptions, unknown>;
|
|
212
223
|
protected readonly ignoreShadowRoots: boolean;
|
|
213
224
|
protected readonly ignoreIframes: boolean;
|
|
@@ -227,7 +238,9 @@ export declare abstract class BrowserCrawler<Page extends CommonPage = CommonPag
|
|
|
227
238
|
// @ts-ignore optional peer dependency or compatibility with es2022
|
|
228
239
|
headless: import("ow").AnyPredicate<string | boolean>;
|
|
229
240
|
// @ts-ignore optional peer dependency or compatibility with es2022
|
|
230
|
-
|
|
241
|
+
browserPool: import("ow").ObjectPredicate<object> & import("ow").BasePredicate<object | undefined>;
|
|
242
|
+
// @ts-ignore optional peer dependency or compatibility with es2022
|
|
243
|
+
browserPoolOptions: import("ow").ObjectPredicate<object> & import("ow").BasePredicate<object | undefined>;
|
|
231
244
|
// @ts-ignore optional peer dependency or compatibility with es2022
|
|
232
245
|
saveResponseCookies: import("ow").BooleanPredicate & import("ow").BasePredicate<boolean | undefined>;
|
|
233
246
|
// @ts-ignore optional peer dependency or compatibility with es2022
|
|
@@ -294,8 +307,6 @@ export declare abstract class BrowserCrawler<Page extends CommonPage = CommonPag
|
|
|
294
307
|
maxRequestsPerMinute: import("ow").NumberPredicate & import("ow").BasePredicate<number | undefined>;
|
|
295
308
|
// @ts-ignore optional peer dependency or compatibility with es2022
|
|
296
309
|
keepAlive: import("ow").BooleanPredicate & import("ow").BasePredicate<boolean | undefined>;
|
|
297
|
-
// @ts-ignore optional peer dependency or compatibility with es2022
|
|
298
|
-
experiments: import("ow").ObjectPredicate<object> & import("ow").BasePredicate<object | undefined>;
|
|
299
310
|
// @ts-ignore optional peer dependency or compatibility with es2022
|
|
300
311
|
statisticsOptions: import("ow").ObjectPredicate<object> & import("ow").BasePredicate<object | undefined>;
|
|
301
312
|
// @ts-ignore optional peer dependency or compatibility with es2022
|
|
@@ -304,19 +315,19 @@ export declare abstract class BrowserCrawler<Page extends CommonPage = CommonPag
|
|
|
304
315
|
/**
|
|
305
316
|
* All `BrowserCrawler` parameters are passed via an options object.
|
|
306
317
|
*/
|
|
307
|
-
protected constructor(options: BrowserCrawlerOptions<Page, Response,
|
|
318
|
+
protected constructor(options: BrowserCrawlerOptions<Page, Response, Context, ContextExtension, ExtendedContext> & {
|
|
308
319
|
contextPipelineBuilder: () => ContextPipeline<CrawlingContext, Context>;
|
|
309
320
|
});
|
|
310
|
-
protected buildContextPipeline(): ContextPipeline<CrawlingContext, BrowserCrawlingContext<Page, Response,
|
|
321
|
+
protected buildContextPipeline(): ContextPipeline<CrawlingContext, BrowserCrawlingContext<Page, Response, Dictionary>>;
|
|
311
322
|
private containsSelectors;
|
|
312
|
-
protected isRequestBlocked(crawlingContext: BrowserCrawlingContext<Page, Response
|
|
323
|
+
protected isRequestBlocked(crawlingContext: BrowserCrawlingContext<Page, Response>): Promise<string | false>;
|
|
313
324
|
private preparePage;
|
|
314
325
|
private prepareNavigation;
|
|
315
326
|
private navigate;
|
|
316
327
|
private finalizeNavigation;
|
|
317
328
|
private handleBlockedRequestByContent;
|
|
318
329
|
private restoreRequestState;
|
|
319
|
-
protected _applyCookies({ session, request, page
|
|
330
|
+
protected _applyCookies({ session, request, page }: BrowserCrawlingContext<Page, Response>, preHooksCookies: string, postHooksCookies: string): Promise<void>;
|
|
320
331
|
/**
|
|
321
332
|
* Marks session bad in case of navigation timeout.
|
|
322
333
|
*/
|
|
@@ -325,7 +336,7 @@ export declare abstract class BrowserCrawler<Page extends CommonPage = CommonPag
|
|
|
325
336
|
* Transforms proxy-related errors to `SessionError`.
|
|
326
337
|
*/
|
|
327
338
|
protected _throwIfProxyError(error: Error): void;
|
|
328
|
-
protected abstract _navigationHandler(crawlingContext: BrowserCrawlingContext<Page, Response
|
|
339
|
+
protected abstract _navigationHandler(crawlingContext: BrowserCrawlingContext<Page, Response>, gotoOptions: GoToOptions): Promise<Context['response'] | null | undefined>;
|
|
329
340
|
private processResponse;
|
|
330
341
|
/**
|
|
331
342
|
* Function for cleaning up after all requests are processed.
|
|
@@ -335,9 +346,9 @@ export declare abstract class BrowserCrawler<Page extends CommonPage = CommonPag
|
|
|
335
346
|
}
|
|
336
347
|
/** @internal */
|
|
337
348
|
interface EnqueueLinksInternalOptions {
|
|
338
|
-
options?: ReadonlyDeep<Omit<EnqueueLinksOptions, '
|
|
349
|
+
options?: ReadonlyDeep<Omit<EnqueueLinksOptions, 'requestManager'>> & Pick<EnqueueLinksOptions, 'requestManager'>;
|
|
339
350
|
page: CommonPage;
|
|
340
|
-
|
|
351
|
+
requestManager: IRequestManager;
|
|
341
352
|
robotsTxtFile?: RobotsTxtFile;
|
|
342
353
|
onSkippedRequest?: SkippedRequestCallback;
|
|
343
354
|
originalRequestUrl: string;
|
|
@@ -346,7 +357,7 @@ interface EnqueueLinksInternalOptions {
|
|
|
346
357
|
/** @internal */
|
|
347
358
|
interface BoundEnqueueLinksInternalOptions {
|
|
348
359
|
enqueueLinks: BasicCrawlingContext['enqueueLinks'];
|
|
349
|
-
options?: ReadonlyDeep<Omit<EnqueueLinksOptions, '
|
|
360
|
+
options?: ReadonlyDeep<Omit<EnqueueLinksOptions, 'requestManager'>> & Pick<EnqueueLinksOptions, 'requestManager'>;
|
|
350
361
|
originalRequestUrl: string;
|
|
351
362
|
finalRequestUrl?: string;
|
|
352
363
|
page: CommonPage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-crawler.d.ts","sourceRoot":"","sources":["../../src/internals/browser-crawler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EAEpB,eAAe,EACf,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,OAAO,EACP,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"browser-crawler.d.ts","sourceRoot":"","sources":["../../src/internals/browser-crawler.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,15 +17,18 @@ const readContextField = (ctx, key) => ctx[key];
|
|
|
17
17
|
* If the target website doesn't need JavaScript, we should consider using the {@link CheerioCrawler},
|
|
18
18
|
* which downloads the pages using raw HTTP requests and is about 10x faster.
|
|
19
19
|
*
|
|
20
|
-
* The source URLs are represented by the {@link Request} objects that are fed from the
|
|
21
|
-
*
|
|
22
|
-
* constructor
|
|
20
|
+
* The source URLs are represented by the {@link Request} objects that are fed from the
|
|
21
|
+
* {@link IRequestManager|request manager} provided via the {@link BrowserCrawlerOptions.requestManager|`requestManager`}
|
|
22
|
+
* constructor option (a {@link RequestQueue} is itself a request manager). If no `requestManager` is provided,
|
|
23
23
|
* the crawler will open the default request queue either when the {@link BrowserCrawler.addRequests|`crawler.addRequests()`} function is called,
|
|
24
24
|
* or if `requests` parameter (representing the initial requests) of the {@link BrowserCrawler.run|`crawler.run()`} function is provided.
|
|
25
25
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
26
|
+
* To read from a read-only source such as a {@link RequestList} while still being able to enqueue new requests,
|
|
27
|
+
* combine it with a queue into a {@link RequestManagerTandem} via {@link IRequestLoader.toTandem|`requestLoader.toTandem()`}
|
|
28
|
+
* and pass the result as `requestManager`.
|
|
29
|
+
*
|
|
30
|
+
* > The {@link BrowserCrawlerOptions.requestList|`requestList`} and {@link BrowserCrawlerOptions.requestQueue|`requestQueue`}
|
|
31
|
+
* > options are deprecated; they are still accepted and folded into a single `requestManager` for back-compat.
|
|
29
32
|
*
|
|
30
33
|
* The crawler finishes when there are no more {@link Request} objects to crawl.
|
|
31
34
|
*
|
|
@@ -46,9 +49,17 @@ const readContextField = (ctx, key) => ctx[key];
|
|
|
46
49
|
*/
|
|
47
50
|
export class BrowserCrawler extends BasicCrawler {
|
|
48
51
|
/**
|
|
49
|
-
* A reference to the underlying
|
|
52
|
+
* A reference to the underlying browser pool that manages the crawler's browsers. Typed as
|
|
53
|
+
* {@link IBrowserPool} so custom implementations can be plugged in via the `browserPool` constructor option.
|
|
50
54
|
*/
|
|
51
55
|
browserPool;
|
|
56
|
+
/**
|
|
57
|
+
* Set when the crawler constructed its own {@link BrowserPool} (no `browserPool` option was provided).
|
|
58
|
+
* Holds the same instance as `browserPool`, but typed as the concrete class so the crawler can call
|
|
59
|
+
* lifecycle methods (`destroy`) that aren't part of {@link IBrowserPool}. A user-supplied pool is
|
|
60
|
+
* never owned and never torn down by the crawler.
|
|
61
|
+
*/
|
|
62
|
+
ownedBrowserPool;
|
|
52
63
|
launchContext;
|
|
53
64
|
ignoreShadowRoots;
|
|
54
65
|
ignoreIframes;
|
|
@@ -63,7 +74,8 @@ export class BrowserCrawler extends BasicCrawler {
|
|
|
63
74
|
postNavigationHooks: ow.optional.array,
|
|
64
75
|
launchContext: ow.optional.object,
|
|
65
76
|
headless: ow.optional.any(ow.boolean, ow.string),
|
|
66
|
-
|
|
77
|
+
browserPool: ow.optional.object.validate(validators.browserPool),
|
|
78
|
+
browserPoolOptions: ow.optional.object,
|
|
67
79
|
saveResponseCookies: ow.optional.boolean,
|
|
68
80
|
proxyConfiguration: ow.optional.object.validate(validators.proxyConfiguration),
|
|
69
81
|
};
|
|
@@ -72,7 +84,7 @@ export class BrowserCrawler extends BasicCrawler {
|
|
|
72
84
|
*/
|
|
73
85
|
constructor(options) {
|
|
74
86
|
ow(options, 'BrowserCrawlerOptions', ow.object.exactShape(BrowserCrawler.optionsShape));
|
|
75
|
-
const { navigationTimeoutSecs = 60, saveResponseCookies = true, launchContext = {}, browserPoolOptions, preNavigationHooks = [], postNavigationHooks = [], headless, ignoreIframes = false, ignoreShadowRoots = false, contextPipelineBuilder, extendContext, ...basicCrawlerOptions } = options;
|
|
87
|
+
const { navigationTimeoutSecs = 60, saveResponseCookies = true, launchContext = {}, browserPool, browserPoolOptions, preNavigationHooks = [], postNavigationHooks = [], headless, ignoreIframes = false, ignoreShadowRoots = false, contextPipelineBuilder, extendContext, ...basicCrawlerOptions } = options;
|
|
76
88
|
const skipGuard = (action) => ({
|
|
77
89
|
action: async (ctx) => (ctx.request.skipNavigation ? {} : ((await action(ctx)) ?? {})),
|
|
78
90
|
});
|
|
@@ -105,29 +117,32 @@ export class BrowserCrawler extends BasicCrawler {
|
|
|
105
117
|
this.launchContext.launchOptions.headless = headless;
|
|
106
118
|
}
|
|
107
119
|
this.saveResponseCookies = saveResponseCookies;
|
|
120
|
+
if (browserPool) {
|
|
121
|
+
this.browserPool = browserPool;
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
const resolvedBrowserPoolOptions = browserPoolOptions ?? {};
|
|
108
125
|
if (launchContext?.userAgent) {
|
|
109
|
-
if (
|
|
126
|
+
if (resolvedBrowserPoolOptions.useFingerprints)
|
|
110
127
|
this.log.info('Custom user agent provided, disabling automatic browser fingerprint injection!');
|
|
111
|
-
|
|
128
|
+
resolvedBrowserPoolOptions.useFingerprints = false;
|
|
112
129
|
}
|
|
113
|
-
this.
|
|
114
|
-
...
|
|
130
|
+
this.ownedBrowserPool = new BrowserPool({
|
|
131
|
+
...resolvedBrowserPoolOptions,
|
|
115
132
|
});
|
|
133
|
+
this.browserPool = this.ownedBrowserPool;
|
|
116
134
|
}
|
|
117
135
|
buildContextPipeline() {
|
|
118
136
|
return ContextPipeline.create().compose({
|
|
119
137
|
action: this.preparePage.bind(this),
|
|
120
138
|
cleanup: async (context) => {
|
|
121
139
|
context.registerDeferredCleanup(async () => {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
await context.page
|
|
129
|
-
.close()
|
|
130
|
-
.catch((error) => this.log.debug('Error while closing page', { error }));
|
|
140
|
+
const error = !context.session.isUsable()
|
|
141
|
+
? new SessionError('Session is no longer usable')
|
|
142
|
+
: undefined;
|
|
143
|
+
await this.browserPool
|
|
144
|
+
.closePage(context.page, { error })
|
|
145
|
+
.catch((closeError) => this.log.debug('Error while closing page', { error: closeError }));
|
|
131
146
|
});
|
|
132
147
|
},
|
|
133
148
|
});
|
|
@@ -159,17 +174,11 @@ export class BrowserCrawler extends BasicCrawler {
|
|
|
159
174
|
return false;
|
|
160
175
|
}
|
|
161
176
|
async preparePage(crawlingContext) {
|
|
162
|
-
const
|
|
177
|
+
const page = await this.browserPool.newPage({
|
|
163
178
|
id: crawlingContext.id,
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
const proxyInfo = crawlingContext.session.proxyInfo;
|
|
167
|
-
newPageOptions.proxyUrl = proxyInfo?.url;
|
|
168
|
-
newPageOptions.ignoreTlsErrors = proxyInfo?.ignoreTlsErrors;
|
|
169
|
-
}
|
|
170
|
-
const page = (await this.browserPool.newPage(newPageOptions));
|
|
179
|
+
session: crawlingContext.session,
|
|
180
|
+
});
|
|
171
181
|
tryCancel();
|
|
172
|
-
const browserControllerInstance = this.browserPool.getBrowserControllerByPage(page);
|
|
173
182
|
const contextEnqueueLinks = crawlingContext.enqueueLinks;
|
|
174
183
|
return {
|
|
175
184
|
page,
|
|
@@ -179,12 +188,14 @@ export class BrowserCrawler extends BasicCrawler {
|
|
|
179
188
|
get gotoOptions() {
|
|
180
189
|
throw new Error('The `gotoOptions` property is not available until `prepareNavigation` runs.');
|
|
181
190
|
},
|
|
182
|
-
browserController: browserControllerInstance,
|
|
183
191
|
enqueueLinks: async (enqueueOptions = {}) => {
|
|
184
192
|
return (await browserCrawlerEnqueueLinks({
|
|
185
|
-
options: {
|
|
193
|
+
options: {
|
|
194
|
+
...enqueueOptions,
|
|
195
|
+
limit: await this.calculateEnqueuedRequestLimit(enqueueOptions?.limit),
|
|
196
|
+
},
|
|
186
197
|
page,
|
|
187
|
-
|
|
198
|
+
requestManager: await this.getRequestManager(),
|
|
188
199
|
robotsTxtFile: await this.getRobotsTxtFileForUrl(crawlingContext.request.url),
|
|
189
200
|
onSkippedRequest: this.handleSkippedRequest,
|
|
190
201
|
originalRequestUrl: crawlingContext.request.url,
|
|
@@ -250,7 +261,7 @@ export class BrowserCrawler extends BasicCrawler {
|
|
|
250
261
|
tryCancel();
|
|
251
262
|
// TODO: Should we save the cookies also after/only the handle page?
|
|
252
263
|
if (this.saveResponseCookies && crawlingContext.session) {
|
|
253
|
-
const cookies = await
|
|
264
|
+
const { cookies } = await this.browserPool.extractPageState(crawlingContext.page);
|
|
254
265
|
tryCancel();
|
|
255
266
|
const url = crawlingContext.request.loadedUrl;
|
|
256
267
|
for (const cookie of cookies) {
|
|
@@ -278,13 +289,14 @@ export class BrowserCrawler extends BasicCrawler {
|
|
|
278
289
|
crawlingContext.request.state = RequestState.REQUEST_HANDLER;
|
|
279
290
|
return {};
|
|
280
291
|
}
|
|
281
|
-
async _applyCookies({ session, request, page
|
|
292
|
+
async _applyCookies({ session, request, page }, preHooksCookies, postHooksCookies) {
|
|
282
293
|
const sessionCookie = session?.cookieJar.getCookiesSync(request.url).map(toughCookieToBrowserPoolCookie) ?? [];
|
|
283
294
|
const parsedPreHooksCookies = preHooksCookies.split(/ *; */).map((c) => cookieStringToToughCookie(c));
|
|
284
295
|
const parsedPostHooksCookies = postHooksCookies.split(/ *; */).map((c) => cookieStringToToughCookie(c));
|
|
285
|
-
|
|
296
|
+
const cookies = [...sessionCookie, ...parsedPreHooksCookies, ...parsedPostHooksCookies]
|
|
286
297
|
.filter((c) => typeof c !== 'undefined' && c !== null)
|
|
287
|
-
.map((c) => ({ ...c, url: c.domain ? undefined : request.url }))
|
|
298
|
+
.map((c) => ({ ...c, url: c.domain ? undefined : request.url }));
|
|
299
|
+
await this.browserPool.injectPageState(page, { cookies });
|
|
288
300
|
}
|
|
289
301
|
/**
|
|
290
302
|
* Marks session bad in case of navigation timeout.
|
|
@@ -331,7 +343,7 @@ export class BrowserCrawler extends BasicCrawler {
|
|
|
331
343
|
* @ignore
|
|
332
344
|
*/
|
|
333
345
|
async teardown() {
|
|
334
|
-
await this.
|
|
346
|
+
await this.ownedBrowserPool?.destroy();
|
|
335
347
|
await super.teardown();
|
|
336
348
|
}
|
|
337
349
|
}
|
|
@@ -357,7 +369,7 @@ export async function browserCrawlerEnqueueLinks(options) {
|
|
|
357
369
|
});
|
|
358
370
|
}
|
|
359
371
|
return enqueueLinks({
|
|
360
|
-
|
|
372
|
+
requestManager: options.requestManager,
|
|
361
373
|
robotsTxtFile: options.robotsTxtFile,
|
|
362
374
|
onSkippedRequest: options.onSkippedRequest,
|
|
363
375
|
urls,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-crawler.js","sourceRoot":"","sources":["../../src/internals/browser-crawler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser-crawler.js","sourceRoot":"","sources":["../../src/internals/browser-crawler.ts"],"names":[],"mappings":"AAeA,OAAO,EACH,YAAY,EACZ,8BAA8B,EAC9B,eAAe,EACf,yBAAyB,EACzB,YAAY,EACZ,oBAAoB,EACpB,sBAAsB,EACtB,YAAY,EACZ,sCAAsC,EACtC,YAAY,EACZ,8BAA8B,EAC9B,cAAc,EACd,UAAU,GACb,MAAM,gBAAgB,CAAC;AAUxB,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,8BAA8B,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,MAAM,IAAI,CAAC;AAGpB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AA+C3C,MAAM,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAE1D,MAAM,gBAAgB,GAAG,CAAI,GAAW,EAAE,GAAW,EAAK,EAAE,CAAE,GAA+B,CAAC,GAAG,CAAM,CAAC;AAsKxG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,OAAgB,cAapB,SAAQ,YAAwD;IAC9D;;;OAGG;IACH,WAAW,CAAqB;IAEhC;;;;;OAKG;IACK,gBAAgB,CAA2C;IAEnE,aAAa,CAA+C;IAEzC,iBAAiB,CAAU;IAC3B,aAAa,CAAU;IAEhC,uBAAuB,CAAS;IAChC,kBAAkB,CAAyB;IAC3C,mBAAmB,CAAyB;IAC5C,mBAAmB,CAAU;IAE7B,MAAM,CAAU,YAAY,GAAG;QACrC,GAAG,YAAY,CAAC,YAAY;QAE5B,qBAAqB,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QACxD,kBAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK;QACrC,mBAAmB,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK;QAEtC,aAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM;QACjC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC;QAChD,WAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;QAChE,kBAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM;QACtC,mBAAmB,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO;QACxC,kBAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC;KACjF,CAAC;IAEF;;OAEG;IACH,YACI,OAEC;QAED,EAAE,CAAC,OAAO,EAAE,uBAAuB,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;QACxF,MAAM,EACF,qBAAqB,GAAG,EAAE,EAC1B,mBAAmB,GAAG,IAAI,EAC1B,aAAa,GAAG,EAAE,EAClB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GAAG,EAAE,EACvB,mBAAmB,GAAG,EAAE,EACxB,QAAQ,EACR,aAAa,GAAG,KAAK,EACrB,iBAAiB,GAAG,KAAK,EACzB,sBAAsB,EACtB,aAAa,EACb,GAAG,mBAAmB,EACzB,GAAG,OAAO,CAAC;QAEZ,MAAM,SAAS,GAAG,CACd,MAAoD,EAChB,EAAE,CAAC,CAAC;YACxC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;SACzF,CAAC,CAAC;QAEH,KAAK,CAAC;YACF,GAAG,mBAAmB;YACtB,sBAAsB,EAAE,GAAG,EAAE;gBACzB,IAAI,QAAQ,GAAG,sBAAsB,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAE/F,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACzC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjD,CAAC;gBAED,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAEjE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC1C,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjD,CAAC;gBAED,OAAO,QAAQ;qBACV,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;qBACtD,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;qBAClE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,aAAa,EAAE,aAAkE;SACpF,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,uBAAuB,GAAG,qBAAqB,GAAG,IAAI,CAAC;QAC5D,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAE3C,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,aAAa,CAAC,aAAa,KAAK,EAAmB,CAAC;YACxD,IAAI,CAAC,aAAa,CAAC,aAA4B,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzE,CAAC;QAED,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAE/C,IAAI,WAAW,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,OAAO;QACX,CAAC;QAED,MAAM,0BAA0B,GAAG,kBAAkB,IAAK,EAAkC,CAAC;QAE7F,IAAI,aAAa,EAAE,SAAS,EAAE,CAAC;YAC3B,IAAI,0BAA0B,CAAC,eAAe;gBAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;YACpG,0BAA0B,CAAC,eAAe,GAAG,KAAK,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,IAAI,WAAW,CAA6B;YAChE,GAAI,0BAAkC;SACzC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAsC,CAAC;IACnE,CAAC;IAEkB,oBAAoB;QAInC,OAAO,eAAe,CAAC,MAAM,EAAmB,CAAC,OAAO,CAAC;YACrD,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YACnC,OAAO,EAAE,KAAK,EAAE,OAIf,EAAE,EAAE;gBACD,OAAO,CAAC,uBAAuB,CAAC,KAAK,IAAI,EAAE;oBACvC,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;wBACrC,CAAC,CAAC,IAAI,YAAY,CAAC,6BAA6B,CAAC;wBACjD,CAAC,CAAC,SAAS,CAAC;oBAEhB,MAAM,IAAI,CAAC,WAAW;yBACjB,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;yBAClC,KAAK,CAAC,CAAC,UAAiB,EAAE,EAAE,CACzB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CACpE,CAAC;gBACV,CAAC,CAAC,CAAC;YACP,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,IAAgB,EAAE,SAAmB;QACjE,MAAM,cAAc,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAE,IAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC7F,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAkB,CAAC;aACjD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;QAErC,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,eAAuD;QACpF,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC;QAE3C,yGAAyG;QACzG,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAC,IAAI,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAG,EAAE,CAAC;YACrG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAElB,+IAA+I;YAC/I,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;YAE/E,IAAI,CAAC,cAAc;gBAAE,OAAO,KAAK,CAAC;YAClC,OAAO,iDAAiD,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACxF,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAE3C,IAAI,cAAc;YAAE,OAAO,oBAAoB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3E,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,OAAO,iCAAiC,UAAU,EAAE,CAAC;QAElG,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,WAAW,CACrB,eAAgC;QAEhC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YACxC,EAAE,EAAE,eAAe,CAAC,EAAE;YACtB,OAAO,EAAE,eAAe,CAAC,OAAO;SACnC,CAAC,CAAC;QACH,SAAS,EAAE,CAAC;QAEZ,MAAM,mBAAmB,GAAG,eAAe,CAAC,YAAY,CAAC;QAEzD,OAAO;YACH,IAAI;YACJ,IAAI,QAAQ;gBACR,MAAM,IAAI,KAAK,CACX,gMAAgM,CACnM,CAAC;YACN,CAAC;YACD,IAAI,WAAW;gBACX,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;YACnG,CAAC;YACD,YAAY,EAAE,KAAK,EAAE,iBAAsC,EAAE,EAAE,EAAE;gBAC7D,OAAO,CAAC,MAAM,0BAA0B,CAAC;oBACrC,OAAO,EAAE;wBACL,GAAG,cAAc;wBACjB,KAAK,EAAE,MAAM,IAAI,CAAC,6BAA6B,CAAC,cAAc,EAAE,KAAK,CAAC;qBACzE;oBACD,IAAI;oBACJ,cAAc,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE;oBAC9C,aAAa,EAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC;oBAC7E,gBAAgB,EAAE,IAAI,CAAC,oBAAoB;oBAC3C,kBAAkB,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG;oBAC/C,eAAe,EAAE,eAAe,CAAC,OAAO,CAAC,SAAS;oBAClD,YAAY,EAAE,mBAAmB;iBACpC,CAAC,CAA2B,CAAC,CAAC,2BAA2B;YAC9D,CAAC;SACJ,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,eAAwB;QACpD,IAAI,eAAe,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACzC,OAAO;gBACH,OAAO,EAAE,IAAI,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE;oBACxC,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ;wBAC9B,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;4BAC/B,MAAM,IAAI,sBAAsB,CAC5B,+EAA+E,CAClF,CAAC;wBACN,CAAC;wBACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;oBACvD,CAAC;iBACJ,CAA2B;gBAC5B,IAAI,QAAQ;oBACR,MAAM,IAAI,sBAAsB,CAC5B,sEAAsE,CACzE,CAAC;gBACN,CAAC;aACgB,CAAC;QAC1B,CAAC;QAED,eAAe,CAAC,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC;QAExD,OAAO;YACH,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,uBAAuB,EAA4B;YAChF,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC,2BAA2B,CAAC,eAAe,CAAC,OAAO,CAAC;SACrD,CAAC;IACrC,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,eAAwB;QAC3C,SAAS,EAAE,CAAC;QAEZ,MAAM,WAAW,GAAG,eAAe,CAAC,WAA0B,CAAC;QAC/D,MAAM,kBAAkB,GAAG,gBAAgB,CAAS,eAAe,EAAE,oBAAoB,CAAC,CAAC;QAC3F,MAAM,iBAAiB,GAAG,IAAI,CAAC,2BAA2B,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAEpF,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;QAEjF,IAAI,QAA8B,CAAC;QACnC,IAAI,CAAC;YACD,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,IAAI,SAAS,CAAC;QAC1F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,wBAAwB,CAAC,eAAe,EAAE,KAAc,CAAC,CAAC;YACrE,eAAe,CAAC,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;YACnD,IAAI,CAAC,kBAAkB,CAAC,KAAc,CAAC,CAAC;YACxC,MAAM,KAAK,CAAC;QAChB,CAAC;QACD,SAAS,EAAE,CAAC;QAEZ,eAAe,CAAC,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC;QAEvD,OAAO,EAAE,QAAQ,EAAsB,CAAC;IAC5C,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,eAAwB;QACrD,SAAS,EAAE,CAAC;QAEZ,IAAI,QAA8B,CAAC;QACnC,IAAI,CAAC;YACD,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACL,sFAAsF;YACtF,+EAA+E;QACnF,CAAC;QAED,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACtD,SAAS,EAAE,CAAC;QAEZ,oEAAoE;QACpE,IAAI,IAAI,CAAC,mBAAmB,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;YACtD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAClF,SAAS,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,SAAU,CAAC;YAC/C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACD,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,8BAA8B,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE;wBACzF,WAAW,EAAE,KAAK;qBACrB,CAAC,CAAC;gBACP,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAA0B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;gBACpE,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC,OAAiC,EAAsB,CAAC;IAC9F,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,eAAuD;QAC/F,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;YAC3D,IAAI,KAAK;gBAAE,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,eAAgC;QAC9D,eAAe,CAAC,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC;QAC7D,OAAO,EAAE,CAAC;IACd,CAAC;IAES,KAAK,CAAC,aAAa,CACzB,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAA0C,EAClE,eAAuB,EACvB,gBAAwB;QAExB,MAAM,aAAa,GAAG,OAAO,EAAE,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,8BAA8B,CAAC,IAAI,EAAE,CAAC;QAC/G,MAAM,qBAAqB,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;QACtG,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;QAExG,MAAM,OAAO,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,qBAAqB,EAAE,GAAG,sBAAsB,CAAC;aAClF,MAAM,CAAC,CAAC,CAAC,EAAqB,EAAE,CAAC,OAAO,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,IAAI,CAAC;aACxE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAErE,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,wBAAwB,CAAC,eAAuC,EAAE,KAAY;QAC1F,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;QAEpC,IAAI,KAAK,EAAE,WAAW,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC7C,oBAAoB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACO,kBAAkB,CAAC,KAAY;QACrC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAW,CAAC,CAAC;QACvE,CAAC;IACL,CAAC;IAOO,KAAK,CAAC,eAAe,CACzB,QAA8B,EAC9B,eAAuC;QAEvC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC;QAEnD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACxE,MAAM,MAAM,GAAW,QAAQ,CAAC,MAAM,EAAE,CAAC;YAEzC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAEtC,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,IAAI,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAClD,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,uCAAuC,CAAC,CAAC;gBACtE,CAAC;gBAED,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,0BAA0B,CAAC,CAAC;YACzD,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;YAC1C,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACxE,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC/E,CAAC;QACL,CAAC;QAED,OAAO,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;IACzC,CAAC;IAED;;;OAGG;IACM,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,CAAC;QACvC,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AAuBL,gBAAgB;AAChB,SAAS,oBAAoB,CACzB,OAAuE;IAEvE,OAAO,CAAC,CAAE,OAA4C,CAAC,YAAY,CAAC;AACxE,CAAC;AAED,gBAAgB;AAChB,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC5C,OAAuE;IAEvE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAE5F,MAAM,OAAO,GAAG,sCAAsC,CAAC;QACnD,eAAe,EAAE,mBAAmB,EAAE,QAAQ;QAC9C,eAAe;QACf,kBAAkB;QAClB,mBAAmB,EAAE,mBAAmB,EAAE,OAAO;KACpD,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAClC,IAAW,EACX,mBAAmB,EAAE,QAAQ,IAAI,GAAG,EACpC,mBAAmB,EAAE,OAAO,IAAI,eAAe,IAAI,kBAAkB,CACxE,CAAC;IAEF,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,YAAY,CAAC;YACxB,IAAI;YACJ,OAAO;YACP,GAAG,mBAAmB;SACzB,CAAC,CAAC;IACP,CAAC;IAED,OAAO,YAAY,CAAC;QAChB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,IAAI;QACJ,OAAO;QACP,GAAI,mBAA2C;KAClD,CAAC,CAAC;AACP,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;AACrC,sEAAsE;AACtE,IAA0B,EAC1B,QAAgB,EAChB,OAAe;IAEf,MAAM,IAAI,GACN,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,OAA0B,EAAE,EAAE,CACxD,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAC5E,CAAC,IAAI,EAAE,CAAC;IACb,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAsB,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/G,MAAM,eAAe,GAAG,IAAI,IAAI,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE9D,IAAI,eAAe,EAAE,CAAC;QAClB,OAAO,GAAG,eAAe,CAAC;IAC9B,CAAC;IAED,OAAO,IAAI;SACN,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE;QAClB,yHAAyH;QACzH,MAAM,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,6CAA6C;QACtG,IAAI,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACX,qBAAqB,IAAI,+CAA+C;gBACpE,+EAA+E,CACtF,CAAC;QACN,CAAC;QAED,OAAO,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,IAAwB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crawlee/browser",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.66",
|
|
4
4
|
"description": "The scalable web crawling and scraping library for JavaScript/Node.js. Enables development of data extraction and web automation jobs (not only) with headless Chrome and Puppeteer.",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=22.0.0"
|
|
@@ -48,10 +48,10 @@
|
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"@apify/timeout": "^0.3.2",
|
|
51
|
-
"@crawlee/basic": "4.0.0-beta.
|
|
52
|
-
"@crawlee/browser-pool": "4.0.0-beta.
|
|
53
|
-
"@crawlee/types": "4.0.0-beta.
|
|
54
|
-
"@crawlee/utils": "4.0.0-beta.
|
|
51
|
+
"@crawlee/basic": "4.0.0-beta.66",
|
|
52
|
+
"@crawlee/browser-pool": "4.0.0-beta.66",
|
|
53
|
+
"@crawlee/types": "4.0.0-beta.66",
|
|
54
|
+
"@crawlee/utils": "4.0.0-beta.66",
|
|
55
55
|
"ow": "^2.0.0",
|
|
56
56
|
"tslib": "^2.8.1",
|
|
57
57
|
"type-fest": "^4.41.0"
|
|
@@ -75,5 +75,5 @@
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
},
|
|
78
|
-
"gitHead": "
|
|
78
|
+
"gitHead": "0890633b51caf16d93940be6f7da7881ad839992"
|
|
79
79
|
}
|