@crawlee/linkedom 3.17.1-beta.9 → 3.18.0
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.
package/index.mjs
CHANGED
|
@@ -53,6 +53,7 @@ export const RequestQueue = mod.RequestQueue;
|
|
|
53
53
|
export const RequestQueueV1 = mod.RequestQueueV1;
|
|
54
54
|
export const RequestQueueV2 = mod.RequestQueueV2;
|
|
55
55
|
export const RequestState = mod.RequestState;
|
|
56
|
+
export const RequestValidationError = mod.RequestValidationError;
|
|
56
57
|
export const RetryRequestError = mod.RetryRequestError;
|
|
57
58
|
export const Router = mod.Router;
|
|
58
59
|
export const STATE_PERSISTENCE_KEY = mod.STATE_PERSISTENCE_KEY;
|
|
@@ -84,6 +85,7 @@ export const createHttpRouter = mod.createHttpRouter;
|
|
|
84
85
|
export const createLinkeDOMRouter = mod.createLinkeDOMRouter;
|
|
85
86
|
export const createRequestOptions = mod.createRequestOptions;
|
|
86
87
|
export const createRequests = mod.createRequests;
|
|
88
|
+
export const defaultRoute = mod.defaultRoute;
|
|
87
89
|
export const deserializeArray = mod.deserializeArray;
|
|
88
90
|
export const enqueueLinks = mod.enqueueLinks;
|
|
89
91
|
export const evaluateLoadSignalSample = mod.evaluateLoadSignalSample;
|
|
@@ -105,5 +107,6 @@ export const tryAbsoluteURL = mod.tryAbsoluteURL;
|
|
|
105
107
|
export const updateEnqueueLinksPatternCache = mod.updateEnqueueLinksPatternCache;
|
|
106
108
|
export const useState = mod.useState;
|
|
107
109
|
export const validateGlobPattern = mod.validateGlobPattern;
|
|
110
|
+
export const validateUserData = mod.validateUserData;
|
|
108
111
|
export const validators = mod.validators;
|
|
109
112
|
export const withCheckedStorageAccess = mod.withCheckedStorageAccess;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IncomingMessage } from 'node:http';
|
|
2
|
-
import type { BasicCrawlingContext, EnqueueLinksOptions, ErrorHandler, GetUserDataFromRequest, HttpCrawlerOptions, InternalHttpCrawlingContext, InternalHttpHook, RequestHandler, RequestProvider, RouterRoutes, SkippedRequestCallback } from '@crawlee/http';
|
|
2
|
+
import type { BasicCrawlingContext, EnqueueLinksOptions, ErrorHandler, GetUserDataFromRequest, HttpCrawlerOptions, InternalHttpCrawlingContext, InternalHttpHook, RequestHandler, RequestProvider, RouterHandler, RouterRoutes, RouteSchemas, RoutesFromSchemas, SkippedRequestCallback } from '@crawlee/http';
|
|
3
3
|
import { HttpCrawler } from '@crawlee/http';
|
|
4
4
|
import type { Dictionary } from '@crawlee/types';
|
|
5
5
|
import { type CheerioRoot, type RobotsTxtFile } from '@crawlee/utils';
|
|
@@ -170,6 +170,7 @@ export declare function linkedomCrawlerEnqueueLinks(options: EnqueueLinksInterna
|
|
|
170
170
|
* await crawler.run();
|
|
171
171
|
* ```
|
|
172
172
|
*/
|
|
173
|
-
|
|
174
|
-
export declare function createLinkeDOMRouter<Context extends LinkeDOMCrawlingContext = LinkeDOMCrawlingContext, UserData extends Dictionary = GetUserDataFromRequest<Context['request']>>(routes?: RouterRoutes<Context, UserData
|
|
173
|
+
export declare function createLinkeDOMRouter<Context extends LinkeDOMCrawlingContext = LinkeDOMCrawlingContext, Routes extends Record<keyof Routes, Dictionary> = Record<string, GetUserDataFromRequest<Context['request']>>>(routes?: RouterRoutes<Context, Routes>): RouterHandler<Context, Routes>;
|
|
174
|
+
export declare function createLinkeDOMRouter<Context extends LinkeDOMCrawlingContext = LinkeDOMCrawlingContext, UserData extends Dictionary = GetUserDataFromRequest<Context['request']>>(routes?: RouterRoutes<Context, Record<string, UserData>>): RouterHandler<Context, Record<string, UserData>>;
|
|
175
|
+
export declare function createLinkeDOMRouter<Context extends LinkeDOMCrawlingContext = LinkeDOMCrawlingContext, const Schemas extends RouteSchemas = RouteSchemas>(schemas: Schemas): RouterHandler<Context, RoutesFromSchemas<Schemas>>;
|
|
175
176
|
export {};
|
|
@@ -155,8 +155,8 @@ async function linkedomCrawlerEnqueueLinks(options) {
|
|
|
155
155
|
if (containsEnqueueLinks(options)) {
|
|
156
156
|
return options.enqueueLinks({
|
|
157
157
|
urls,
|
|
158
|
-
baseUrl,
|
|
159
158
|
...enqueueLinksOptions,
|
|
159
|
+
baseUrl,
|
|
160
160
|
});
|
|
161
161
|
}
|
|
162
162
|
return (0, http_1.enqueueLinks)({
|
|
@@ -164,8 +164,8 @@ async function linkedomCrawlerEnqueueLinks(options) {
|
|
|
164
164
|
robotsTxtFile: options.robotsTxtFile,
|
|
165
165
|
onSkippedRequest: options.onSkippedRequest,
|
|
166
166
|
urls,
|
|
167
|
-
baseUrl,
|
|
168
167
|
...enqueueLinksOptions,
|
|
168
|
+
baseUrl,
|
|
169
169
|
});
|
|
170
170
|
}
|
|
171
171
|
/**
|
|
@@ -184,30 +184,6 @@ function extractUrlsFromWindow(window, selector, baseUrl) {
|
|
|
184
184
|
})
|
|
185
185
|
.filter((href) => href !== undefined && href !== '');
|
|
186
186
|
}
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
* This instance can then serve as a `requestHandler` of your {@link LinkeDOMCrawler}.
|
|
190
|
-
* Defaults to the {@link LinkeDOMCrawlingContext}.
|
|
191
|
-
*
|
|
192
|
-
* > Serves as a shortcut for using `Router.create<LinkeDOMCrawlingContext>()`.
|
|
193
|
-
*
|
|
194
|
-
* ```ts
|
|
195
|
-
* import { LinkeDOMCrawler, createLinkeDOMRouter } from 'crawlee';
|
|
196
|
-
*
|
|
197
|
-
* const router = createLinkeDOMRouter();
|
|
198
|
-
* router.addHandler('label-a', async (ctx) => {
|
|
199
|
-
* ctx.log.info('...');
|
|
200
|
-
* });
|
|
201
|
-
* router.addDefaultHandler(async (ctx) => {
|
|
202
|
-
* ctx.log.info('...');
|
|
203
|
-
* });
|
|
204
|
-
*
|
|
205
|
-
* const crawler = new LinkeDOMCrawler({
|
|
206
|
-
* requestHandler: router,
|
|
207
|
-
* });
|
|
208
|
-
* await crawler.run();
|
|
209
|
-
* ```
|
|
210
|
-
*/
|
|
211
|
-
function createLinkeDOMRouter(routes) {
|
|
212
|
-
return http_1.Router.create(routes);
|
|
187
|
+
function createLinkeDOMRouter(routesOrSchemas) {
|
|
188
|
+
return http_1.Router.create(routesOrSchemas);
|
|
213
189
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crawlee/linkedom",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.18.0",
|
|
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": ">=16.0.0"
|
|
@@ -53,10 +53,12 @@
|
|
|
53
53
|
"access": "public"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@apify/timeout": "^0.
|
|
56
|
+
"@apify/timeout": "^0.4.0",
|
|
57
57
|
"@apify/utilities": "^2.7.10",
|
|
58
|
-
"@crawlee/http": "3.
|
|
59
|
-
"@crawlee/types": "3.
|
|
58
|
+
"@crawlee/http": "3.18.0",
|
|
59
|
+
"@crawlee/types": "3.18.0",
|
|
60
|
+
"@crawlee/utils": "3.18.0",
|
|
61
|
+
"cheerio": "1.0.0-rc.12",
|
|
60
62
|
"linkedom": "^0.18.0",
|
|
61
63
|
"ow": "^0.28.2",
|
|
62
64
|
"tslib": "^2.4.0"
|
|
@@ -68,5 +70,5 @@
|
|
|
68
70
|
}
|
|
69
71
|
}
|
|
70
72
|
},
|
|
71
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "49c115e1ce3b3fbf2bef61f16bffeadfdcf5bd19"
|
|
72
74
|
}
|