@crawlee/basic 3.0.0-beta.7 → 3.0.0-beta.72

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,65 +1,48 @@
1
- import { Log } from '@apify/log';
2
- import { AutoscaledPool, AutoscaledPoolOptions, EnqueueLinksOptions, CrawlerHandleFailedRequestInput, ProxyInfo, QueueOperationInfo, Request, RequestList, RequestQueue, Session, SessionPool, SessionPoolOptions, Statistics, type CrawlingContext, RequestOptions, RequestQueueOperationOptions, Configuration, EventManager, FinalStatistics } from '@crawlee/core';
3
- import { Response as GotResponse } from 'got-scraping';
4
- import { ProcessedRequest } from '@crawlee/types';
5
- import { Awaitable } from '@crawlee/utils';
6
- export interface BasicCrawlerCrawlingContext extends CrawlingContext {
7
- crawler: BasicCrawler;
8
- enqueueLinks: (options: BasicCrawlerEnqueueLinksOptions) => Promise<QueueOperationInfo[]>;
9
- sendRequest: (request?: Request) => Promise<GotResponse<string>>;
10
- }
11
- export interface BasicCrawlerHandleFailedRequestInput extends CrawlerHandleFailedRequestInput {
1
+ import type { Log } from '@apify/log';
2
+ import type { AutoscaledPoolOptions, EnqueueLinksOptions, EventManager, FinalStatistics, ProxyInfo, Request, RequestList, RequestOptions, RequestQueueOperationOptions, RouterHandler, Session, SessionPoolOptions } from '@crawlee/core';
3
+ import { AutoscaledPool, Configuration, type CrawlingContext, RequestQueue, SessionPool, Statistics } from '@crawlee/core';
4
+ import type { GotOptionsInit, Response as GotResponse } from 'got-scraping';
5
+ import type { ProcessedRequest, Dictionary, Awaitable, BatchAddRequestsResult } from '@crawlee/types';
6
+ export interface BasicCrawlingContext<UserData extends Dictionary = Dictionary> extends CrawlingContext<UserData> {
12
7
  crawler: BasicCrawler;
8
+ enqueueLinks: (options: BasicCrawlerEnqueueLinksOptions) => Promise<BatchAddRequestsResult>;
9
+ sendRequest: (overrideOptions?: Partial<GotOptionsInit>) => Promise<GotResponse<string>>;
13
10
  }
14
11
  /** @internal */
15
12
  export declare type BasicCrawlerEnqueueLinksOptions = Omit<EnqueueLinksOptions, 'requestQueue'>;
16
- export declare type RequestHandler<Context extends CrawlingContext = BasicCrawlerCrawlingContext> = (inputs: Context) => Awaitable<void>;
17
- export declare type FailedRequestHandler<Inputs extends CrawlerHandleFailedRequestInput = BasicCrawlerHandleFailedRequestInput> = (inputs: Inputs) => Awaitable<void>;
18
- export interface BasicCrawlerOptions<Context extends CrawlingContext = BasicCrawlerCrawlingContext, ErrorContext extends CrawlerHandleFailedRequestInput = BasicCrawlerHandleFailedRequestInput> {
13
+ export declare type RequestHandler<Context extends CrawlingContext = BasicCrawlingContext> = (inputs: Context) => Awaitable<void>;
14
+ export declare type FailedRequestHandler<Context extends CrawlingContext = BasicCrawlingContext> = (inputs: Context, error: Error) => Awaitable<void>;
15
+ export interface BasicCrawlerOptions<Context extends CrawlingContext = BasicCrawlingContext> {
19
16
  /**
20
17
  * User-provided function that performs the logic of the crawler. It is called for each URL to crawl.
21
18
  *
22
- * The function receives the following object as an argument:
23
- * ```
24
- * {
25
- * request: Request,
26
- * session: Session,
27
- * crawler: BasicCrawler,
28
- * }
29
- * ```
30
- * where the {@link Request} instance represents the URL to crawl.
19
+ * The function receives the {@link BasicCrawlingContext} as an argument,
20
+ * where the {@link BasicCrawlingContext.request} represents the URL to crawl.
31
21
  *
32
22
  * The function must return a promise, which is then awaited by the crawler.
33
23
  *
34
24
  * If the function throws an exception, the crawler will try to re-crawl the
35
25
  * request later, up to `option.maxRequestRetries` times.
36
26
  * If all the retries fail, the crawler calls the function
37
- * provided to the `handleFailedRequestFunction` parameter.
27
+ * provided to the `failedRequestHandler` parameter.
38
28
  * To make this work, you should **always**
39
29
  * let your function throw exceptions rather than catch them.
40
30
  * The exceptions are logged to the request using the
41
31
  * {@link Request.pushErrorMessage} function.
42
32
  */
43
- requestHandler: RequestHandler<Context>;
33
+ requestHandler?: RequestHandler<Context>;
44
34
  /**
45
35
  * User-provided function that performs the logic of the crawler. It is called for each URL to crawl.
46
36
  *
47
- * The function receives the following object as an argument:
48
- * ```
49
- * {
50
- * request: Request,
51
- * session: Session,
52
- * crawler: BasicCrawler,
53
- * }
54
- * ```
55
- * where the {@link Request} instance represents the URL to crawl.
37
+ * The function receives the {@link BasicCrawlingContext} as an argument,
38
+ * where the {@link BasicCrawlingContext.request} represents the URL to crawl.
56
39
  *
57
40
  * The function must return a promise, which is then awaited by the crawler.
58
41
  *
59
42
  * If the function throws an exception, the crawler will try to re-crawl the
60
43
  * request later, up to `option.maxRequestRetries` times.
61
44
  * If all the retries fail, the crawler calls the function
62
- * provided to the `handleFailedRequestFunction` parameter.
45
+ * provided to the `failedRequestHandler` parameter.
63
46
  * To make this work, you should **always**
64
47
  * let your function throw exceptions rather than catch them.
65
48
  * The exceptions are logged to the request using the
@@ -90,49 +73,37 @@ export interface BasicCrawlerOptions<Context extends CrawlingContext = BasicCraw
90
73
  */
91
74
  handleRequestTimeoutSecs?: number;
92
75
  /**
93
- * A function to handle requests that failed more than `option.maxRequestRetries` times.
76
+ * User-provided function that allows modifying the request object before it gets retried by the crawler.
77
+ * It's executed before each retry for the requests that failed less than `option.maxRequestRetries` times.
94
78
  *
95
- * The function receives the following object as an argument:
96
- * ```
97
- * {
98
- * request: Request,
99
- * error: Error,
100
- * session: Session,
101
- * crawler: BasicCrawler,
102
- * }
103
- * ```
104
- * where the {@link Request} instance corresponds to the failed request, and the `Error` instance
79
+ * The function receives the {@link BasicCrawlingContext} as the first argument,
80
+ * where the {@link BasicCrawlingContext.request} corresponds to the request to be retried.
81
+ * Second argument is the `Error` instance that
105
82
  * represents the last error thrown during processing of the request.
106
- *
107
- * See
108
- * [source code](https://github.com/apify/apify-js/blob/master/src/crawlers/basic_crawler.js#L11)
109
- * for the default implementation of this function.
110
83
  */
111
- failedRequestHandler?: FailedRequestHandler<ErrorContext>;
84
+ errorHandler?: FailedRequestHandler<Context>;
112
85
  /**
113
86
  * A function to handle requests that failed more than `option.maxRequestRetries` times.
114
87
  *
115
- * The function receives the following object as an argument:
116
- * ```
117
- * {
118
- * request: Request,
119
- * error: Error,
120
- * session: Session,
121
- * crawler: BasicCrawler,
122
- * }
123
- * ```
124
- * where the {@link Request} instance corresponds to the failed request, and the `Error` instance
88
+ * The function receives the {@link BasicCrawlingContext} as the first argument,
89
+ * where the {@link BasicCrawlingContext.request} corresponds to the failed request.
90
+ * Second argument is the `Error` instance that
125
91
  * represents the last error thrown during processing of the request.
92
+ */
93
+ failedRequestHandler?: FailedRequestHandler<Context>;
94
+ /**
95
+ * A function to handle requests that failed more than `option.maxRequestRetries` times.
126
96
  *
127
- * See
128
- * [source code](https://github.com/apify/apify-js/blob/master/src/crawlers/basic_crawler.js#L11)
129
- * for the default implementation of this function.
97
+ * The function receives the {@link BasicCrawlingContext} as the first argument,
98
+ * where the {@link BasicCrawlingContext.request} corresponds to the failed request.
99
+ * Second argument is the `Error` instance that
100
+ * represents the last error thrown during processing of the request.
130
101
  *
131
102
  * @deprecated `handleFailedRequestFunction` has been renamed to `failedRequestHandler` and will be removed in a future version.
132
103
  */
133
- handleFailedRequestFunction?: FailedRequestHandler<ErrorContext>;
104
+ handleFailedRequestFunction?: FailedRequestHandler<Context>;
134
105
  /**
135
- * Indicates how many times the request is retried if {@link requestHandler} or {@link handlePageFunction} fails.
106
+ * Indicates how many times the request is retried if {@link requestHandler} fails.
136
107
  * @default 3
137
108
  */
138
109
  maxRequestRetries?: number;
@@ -161,7 +132,13 @@ export interface BasicCrawlerOptions<Context extends CrawlingContext = BasicCraw
161
132
  */
162
133
  maxConcurrency?: number;
163
134
  /**
164
- * Basic crawler will initialize the {@link SessionPool} with the corresponding `sessionPoolOptions`.
135
+ * The maximum number of requests per minute the crawler should run.
136
+ * By default, this is set to `Infinity`, but you can pass any positive, non-zero integer.
137
+ * Shortcut for the {@link AutoscaledPoolOptions.maxTasksPerMinute} option.
138
+ */
139
+ maxRequestsPerMinute?: number;
140
+ /**
141
+ * Basic crawler will initialize the {@link SessionPool} with the corresponding `sessionPoolOptions`.
165
142
  * The session instance will be than available in the `requestHandler`.
166
143
  */
167
144
  useSessionPool?: boolean;
@@ -203,16 +180,13 @@ export interface BasicCrawlerOptions<Context extends CrawlingContext = BasicCraw
203
180
  * **Example usage:**
204
181
  *
205
182
  * ```javascript
206
- * const { gotScraping } = require('got-scraping');
183
+ * import { gotScraping } from 'got-scraping';
207
184
  *
208
185
  * // Prepare a list of URLs to crawl
209
- * const requestList = new RequestList({
210
- * sources: [
211
- * { url: 'http://www.example.com/page-1' },
212
- * { url: 'http://www.example.com/page-2' },
213
- * ],
214
- * });
215
- * await requestList.initialize();
186
+ * const requestList = await RequestList.open(null, [
187
+ * { url: 'http://www.example.com/page-1' },
188
+ * { url: 'http://www.example.com/page-2' },
189
+ * ]);
216
190
  *
217
191
  * // Crawl the URLs
218
192
  * const crawler = new BasicCrawler({
@@ -227,7 +201,7 @@ export interface BasicCrawlerOptions<Context extends CrawlingContext = BasicCraw
227
201
  * headers: request.headers,
228
202
  * });
229
203
  *
230
- * await Actor.pushData({
204
+ * await Dataset.pushData({
231
205
  * url: request.url,
232
206
  * html: body,
233
207
  * })
@@ -238,8 +212,9 @@ export interface BasicCrawlerOptions<Context extends CrawlingContext = BasicCraw
238
212
  * ```
239
213
  * @category Crawlers
240
214
  */
241
- export declare class BasicCrawler<Context extends CrawlingContext = BasicCrawlerCrawlingContext, ErrorContext extends CrawlerHandleFailedRequestInput = BasicCrawlerHandleFailedRequestInput> {
215
+ export declare class BasicCrawler<Context extends CrawlingContext = BasicCrawlingContext> {
242
216
  readonly config: Configuration;
217
+ private static readonly CRAWLEE_STATE_KEY;
243
218
  /**
244
219
  * Static list of URLs to be processed.
245
220
  */
@@ -270,9 +245,15 @@ export declare class BasicCrawler<Context extends CrawlingContext = BasicCrawler
270
245
  * or to abort it by calling {@link AutoscaledPool.abort}.
271
246
  */
272
247
  autoscaledPool?: AutoscaledPool;
248
+ /**
249
+ * Default router instance that will be used if we don't specify any {@link requestHandler}.
250
+ * See {@link Router.addHandler} and {@link Router.addDefaultHandler.}
251
+ */
252
+ readonly router: RouterHandler<Context>;
273
253
  protected log: Log;
274
254
  protected requestHandler: RequestHandler<Context>;
275
- protected failedRequestHandler?: FailedRequestHandler<ErrorContext>;
255
+ protected errorHandler?: FailedRequestHandler<Context>;
256
+ protected failedRequestHandler?: FailedRequestHandler<Context>;
276
257
  protected requestHandlerTimeoutMillis: number;
277
258
  protected internalTimeoutMillis: number;
278
259
  protected maxRequestRetries: number;
@@ -282,6 +263,7 @@ export declare class BasicCrawler<Context extends CrawlingContext = BasicCrawler
282
263
  protected crawlingContexts: Map<string, Context>;
283
264
  protected autoscaledPoolOptions: AutoscaledPoolOptions;
284
265
  protected events: EventManager;
266
+ private _closeEvents?;
285
267
  protected static optionsShape: {
286
268
  requestList: import("ow").ObjectPredicate<object> & import("ow").BasePredicate<object | undefined>;
287
269
  requestQueue: import("ow").ObjectPredicate<object> & import("ow").BasePredicate<object | undefined>;
@@ -289,6 +271,7 @@ export declare class BasicCrawler<Context extends CrawlingContext = BasicCrawler
289
271
  handleRequestFunction: import("ow").Predicate<Function> & import("ow").BasePredicate<Function | undefined>;
290
272
  requestHandlerTimeoutSecs: import("ow").NumberPredicate & import("ow").BasePredicate<number | undefined>;
291
273
  handleRequestTimeoutSecs: import("ow").NumberPredicate & import("ow").BasePredicate<number | undefined>;
274
+ errorHandler: import("ow").Predicate<Function> & import("ow").BasePredicate<Function | undefined>;
292
275
  failedRequestHandler: import("ow").Predicate<Function> & import("ow").BasePredicate<Function | undefined>;
293
276
  handleFailedRequestFunction: import("ow").Predicate<Function> & import("ow").BasePredicate<Function | undefined>;
294
277
  maxRequestRetries: import("ow").NumberPredicate & import("ow").BasePredicate<number | undefined>;
@@ -298,17 +281,24 @@ export declare class BasicCrawler<Context extends CrawlingContext = BasicCrawler
298
281
  useSessionPool: import("ow").BooleanPredicate & import("ow").BasePredicate<boolean | undefined>;
299
282
  minConcurrency: import("ow").NumberPredicate & import("ow").BasePredicate<number | undefined>;
300
283
  maxConcurrency: import("ow").NumberPredicate & import("ow").BasePredicate<number | undefined>;
284
+ maxRequestsPerMinute: import("ow").NumberPredicate & import("ow").BasePredicate<number | undefined>;
301
285
  log: import("ow").ObjectPredicate<object> & import("ow").BasePredicate<object | undefined>;
302
286
  };
303
287
  /**
304
288
  * All `BasicCrawler` parameters are passed via an options object.
305
289
  */
306
- constructor(options: BasicCrawlerOptions<Context, ErrorContext>, config?: Configuration);
290
+ constructor(options?: BasicCrawlerOptions<Context>, config?: Configuration);
307
291
  /**
308
292
  * Runs the crawler. Returns a promise that gets resolved once all the requests are processed.
293
+ * We can use the `requests` parameter to enqueue the initial requests - it is a shortcut for
294
+ * running `crawler.addRequests()` before the `crawler.run()`.
295
+ *
296
+ * @param [requests] The requests to add
297
+ * @param [options] Options for the request queue
309
298
  */
310
- run(): Promise<FinalStatistics>;
299
+ run(requests?: (string | Request | RequestOptions)[], options?: CrawlerAddRequestsOptions): Promise<FinalStatistics>;
311
300
  getRequestQueue(): Promise<RequestQueue>;
301
+ useState<State extends Dictionary = Dictionary>(defaultValue?: State): Promise<State>;
312
302
  /**
313
303
  * Adds requests to be processed by the crawler
314
304
  * @param requests The requests to add
@@ -326,7 +316,7 @@ export declare class BasicCrawler<Context extends CrawlingContext = BasicCrawler
326
316
  * Fetches request from either RequestList or RequestQueue. If request comes from a RequestList
327
317
  * and RequestQueue is present then enqueues it to the queue first.
328
318
  */
329
- protected _fetchNextRequest(): Promise<Request | null>;
319
+ protected _fetchNextRequest(): Promise<Request<Dictionary<any>> | null>;
330
320
  /**
331
321
  * Wrapper around requestHandler that fetches requests from RequestList/RequestQueue
332
322
  * then retries them in a case of an error, etc.
@@ -349,7 +339,8 @@ export declare class BasicCrawler<Context extends CrawlingContext = BasicCrawler
349
339
  * Handles errors thrown by user provided requestHandler()
350
340
  */
351
341
  protected _requestFunctionErrorHandler(error: Error, crawlingContext: Context, source: RequestList | RequestQueue): Promise<void>;
352
- protected _handleFailedRequestHandler(crawlingContext: ErrorContext): Promise<void>;
342
+ protected _tagUserHandlerError<T>(cb: () => unknown): Promise<T>;
343
+ protected _handleFailedRequestHandler(crawlingContext: Context, error: Error): Promise<void>;
353
344
  /**
354
345
  * Updates handledRequestsCount from possibly stored counts,
355
346
  * usually after worker migration. Since one of the stores
@@ -406,5 +397,30 @@ interface HandlePropertyNameChangeData<New, Old> {
406
397
  propertyKey: string;
407
398
  allowUndefined?: boolean;
408
399
  }
400
+ /**
401
+ * Creates new {@link Router} instance that works based on request labels.
402
+ * This instance can then serve as a `requestHandler` of your {@link BasicCrawler}.
403
+ * Defaults to the {@link BasicCrawlingContext}.
404
+ *
405
+ * > Serves as a shortcut for using `Router.create<BasicCrawlingContext>()`.
406
+ *
407
+ * ```ts
408
+ * import { BasicCrawler, createBasicRouter } from 'crawlee';
409
+ *
410
+ * const router = createBasicRouter();
411
+ * router.addHandler('label-a', async (ctx) => {
412
+ * ctx.log.info('...');
413
+ * });
414
+ * router.addDefaultHandler(async (ctx) => {
415
+ * ctx.log.info('...');
416
+ * });
417
+ *
418
+ * const crawler = new BasicCrawler({
419
+ * requestHandler: router,
420
+ * });
421
+ * await crawler.run();
422
+ * ```
423
+ */
424
+ export declare function createBasicRouter<Context extends BasicCrawlingContext = BasicCrawlingContext>(): RouterHandler<Context>;
409
425
  export {};
410
426
  //# sourceMappingURL=basic-crawler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"basic-crawler.d.ts","sourceRoot":"","sources":["../../src/internals/basic-crawler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"basic-crawler.d.ts","sourceRoot":"","sources":["../../src/internals/basic-crawler.ts"],"names":[],"mappings":"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"}