Skip to main content
Version: 3.0

BrowserCrawlerEnqueueLinksOptions

Hierarchy

  • Omit<EnqueueLinksOptions, requestQueue | urls>
    • BrowserCrawlerEnqueueLinksOptions

Index

Properties

optionalbaseUrl

baseUrl?: string

A base URL that will be used to resolve relative URLs when using Cheerio. Ignored when using Puppeteer, since the relative URL resolution is done inside the browser automatically.

optionalglobs

globs?: GlobInput[]

An array of glob pattern strings or plain objects containing glob pattern strings matching the URLs to be enqueued.

The plain objects must include at least the glob property, which holds the glob pattern string. All remaining keys will be used as request options for the corresponding enqueued Request objects.

The matching is always case-insensitive. If you need case-sensitive matching, use regexps property directly.

If globs is an empty array or undefined, and regexps are also not defined, then the function enqueues the links with the same subdomain.

optionallabel

label?: string

Sets Request.label for newly enqueued requests.

optionallimit

limit?: number

Limit the amount of actually enqueued URLs to this number. Useful for testing across the entire crawling scope.

optionalpseudoUrls

pseudoUrls?: PseudoUrlInput[]

NOTE: In future versions of SDK the options will be removed. Please use globs or regexps instead.

An array of PseudoUrl strings or plain objects containing PseudoUrl strings matching the URLs to be enqueued.

The plain objects must include at least the purl property, which holds the pseudo-URL string. All remaining keys will be used as request options for the corresponding enqueued Request objects.

With a pseudo-URL string, the matching is always case-insensitive. If you need case-sensitive matching, use regexps property directly.

If pseudoUrls is an empty array or undefined, then the function enqueues the links with the same subdomain.

@deprecated

prefer using globs or regexps instead

optionalregexps

regexps?: RegExpInput[]

An array of regular expressions or plain objects containing regular expressions matching the URLs to be enqueued.

The plain objects must include at least the regexp property, which holds the regular expression. All remaining keys will be used as request options for the corresponding enqueued Request objects.

If regexps is an empty array or undefined, and globs are also not defined, then the function enqueues the links with the same subdomain.

optionalselector

selector?: string

A CSS selector matching links to be enqueued.

optionalstrategy

strategy?: EnqueueStrategy | all | same-domain | same-hostname = EnqueueStrategy | all | same-domain | same-hostname

The strategy to use when enqueueing the urls.

optionaltransformRequestFunction

transformRequestFunction?: RequestTransform

Just before a new Request is constructed and enqueued to the RequestQueue, this function can be used to remove it or modify its contents such as userData, payload or, most importantly uniqueKey. This is useful when you need to enqueue multiple Requests to the queue that share the same URL, but differ in methods or payloads, or to dynamically update or create userData.

For example: by adding keepUrlFragment: true to the request object, URL fragments will not be removed when uniqueKey is computed.

Example:

{
transformRequestFunction: (request) => {
request.userData.foo = 'bar';
request.keepUrlFragment = true;
return request;
}
}

Note that transformRequestFunction has a priority over request options specified in globs, regexps, or pseudoUrls objects, and thus some options could be over-written by transformRequestFunction.

optionaluserData

userData?: Dictionary<any>

Sets Request.userData for newly enqueued requests.