n8n-nodes-scraperapi 0.2.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.
Files changed (44) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +185 -0
  3. package/dist/credentials/ScraperApiApi.credentials.d.ts +9 -0
  4. package/dist/credentials/ScraperApiApi.credentials.js +47 -0
  5. package/dist/credentials/ScraperApiApi.credentials.js.map +1 -0
  6. package/dist/nodes/ScraperApi/GenericFunctions.d.ts +23 -0
  7. package/dist/nodes/ScraperApi/GenericFunctions.js +111 -0
  8. package/dist/nodes/ScraperApi/GenericFunctions.js.map +1 -0
  9. package/dist/nodes/ScraperApi/ScraperApi.node.d.ts +5 -0
  10. package/dist/nodes/ScraperApi/ScraperApi.node.js +326 -0
  11. package/dist/nodes/ScraperApi/ScraperApi.node.js.map +1 -0
  12. package/dist/nodes/ScraperApi/descriptions/BatchDescription.d.ts +3 -0
  13. package/dist/nodes/ScraperApi/descriptions/BatchDescription.js +143 -0
  14. package/dist/nodes/ScraperApi/descriptions/BatchDescription.js.map +1 -0
  15. package/dist/nodes/ScraperApi/descriptions/CrawlDescription.d.ts +3 -0
  16. package/dist/nodes/ScraperApi/descriptions/CrawlDescription.js +103 -0
  17. package/dist/nodes/ScraperApi/descriptions/CrawlDescription.js.map +1 -0
  18. package/dist/nodes/ScraperApi/descriptions/ExtractDescription.d.ts +3 -0
  19. package/dist/nodes/ScraperApi/descriptions/ExtractDescription.js +157 -0
  20. package/dist/nodes/ScraperApi/descriptions/ExtractDescription.js.map +1 -0
  21. package/dist/nodes/ScraperApi/descriptions/MapDescription.d.ts +3 -0
  22. package/dist/nodes/ScraperApi/descriptions/MapDescription.js +63 -0
  23. package/dist/nodes/ScraperApi/descriptions/MapDescription.js.map +1 -0
  24. package/dist/nodes/ScraperApi/descriptions/SearchDescription.d.ts +3 -0
  25. package/dist/nodes/ScraperApi/descriptions/SearchDescription.js +148 -0
  26. package/dist/nodes/ScraperApi/descriptions/SearchDescription.js.map +1 -0
  27. package/dist/nodes/ScraperApi/descriptions/StatisticsDescription.d.ts +3 -0
  28. package/dist/nodes/ScraperApi/descriptions/StatisticsDescription.js +48 -0
  29. package/dist/nodes/ScraperApi/descriptions/StatisticsDescription.js.map +1 -0
  30. package/dist/nodes/ScraperApi/descriptions/WebhookDescription.d.ts +3 -0
  31. package/dist/nodes/ScraperApi/descriptions/WebhookDescription.js +93 -0
  32. package/dist/nodes/ScraperApi/descriptions/WebhookDescription.js.map +1 -0
  33. package/dist/nodes/ScraperApi/descriptions/shared.d.ts +15 -0
  34. package/dist/nodes/ScraperApi/descriptions/shared.js +91 -0
  35. package/dist/nodes/ScraperApi/descriptions/shared.js.map +1 -0
  36. package/dist/nodes/ScraperApi/scraper-geonode.svg +252 -0
  37. package/dist/nodes/ScraperApiTrigger/ScraperApiTrigger.node.d.ts +12 -0
  38. package/dist/nodes/ScraperApiTrigger/ScraperApiTrigger.node.js +169 -0
  39. package/dist/nodes/ScraperApiTrigger/ScraperApiTrigger.node.js.map +1 -0
  40. package/dist/nodes/ScraperApiTrigger/scraper-geonode.svg +252 -0
  41. package/dist/package.json +63 -0
  42. package/dist/tsconfig.tsbuildinfo +1 -0
  43. package/index.js +1 -0
  44. package/package.json +63 -0
@@ -0,0 +1,326 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScraperApi = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const GenericFunctions_1 = require("./GenericFunctions");
6
+ const ExtractDescription_1 = require("./descriptions/ExtractDescription");
7
+ const MapDescription_1 = require("./descriptions/MapDescription");
8
+ const CrawlDescription_1 = require("./descriptions/CrawlDescription");
9
+ const WebhookDescription_1 = require("./descriptions/WebhookDescription");
10
+ const StatisticsDescription_1 = require("./descriptions/StatisticsDescription");
11
+ const SearchDescription_1 = require("./descriptions/SearchDescription");
12
+ const BatchDescription_1 = require("./descriptions/BatchDescription");
13
+ class ScraperApi {
14
+ constructor() {
15
+ this.description = {
16
+ displayName: 'Scraper API',
17
+ name: 'scraperApi',
18
+ icon: 'file:scraper-geonode.svg',
19
+ group: ['transform'],
20
+ version: 1,
21
+ subtitle: '={{$parameter["operation"]}}: {{$parameter["resource"]}}',
22
+ description: 'Interact with the Scraper API (extract, search, batch, map, crawl, webhooks, statistics)',
23
+ defaults: { name: 'Scraper API' },
24
+ inputs: ['main'],
25
+ outputs: ['main'],
26
+ credentials: [{ name: 'scraperApiApi', required: true }],
27
+ properties: [
28
+ {
29
+ displayName: 'Resource',
30
+ name: 'resource',
31
+ type: 'options',
32
+ noDataExpression: true,
33
+ options: [
34
+ { name: 'Batch', value: 'batch' },
35
+ { name: 'Crawl', value: 'crawl' },
36
+ { name: 'Extract', value: 'extract' },
37
+ { name: 'Map', value: 'map' },
38
+ { name: 'Search', value: 'search' },
39
+ { name: 'Statistic', value: 'statistics' },
40
+ { name: 'Webhook', value: 'webhook' },
41
+ ],
42
+ default: 'extract',
43
+ },
44
+ ...ExtractDescription_1.extractOperations,
45
+ ...ExtractDescription_1.extractFields,
46
+ ...SearchDescription_1.searchOperations,
47
+ ...SearchDescription_1.searchFields,
48
+ ...BatchDescription_1.batchOperations,
49
+ ...BatchDescription_1.batchFields,
50
+ ...MapDescription_1.mapOperations,
51
+ ...MapDescription_1.mapFields,
52
+ ...CrawlDescription_1.crawlOperations,
53
+ ...CrawlDescription_1.crawlFields,
54
+ ...WebhookDescription_1.webhookOperations,
55
+ ...WebhookDescription_1.webhookFields,
56
+ ...StatisticsDescription_1.statisticsOperations,
57
+ ...StatisticsDescription_1.statisticsFields,
58
+ ],
59
+ };
60
+ }
61
+ async execute() {
62
+ const items = this.getInputData();
63
+ const returnData = [];
64
+ for (let i = 0; i < items.length; i++) {
65
+ try {
66
+ const resource = this.getNodeParameter('resource', i);
67
+ const operation = this.getNodeParameter('operation', i);
68
+ const handler = handlers[resource];
69
+ if (!handler) {
70
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Unknown resource: ${resource}`);
71
+ }
72
+ const response = await handler.call(this, i, operation);
73
+ returnData.push({ json: response, pairedItem: { item: i } });
74
+ }
75
+ catch (error) {
76
+ if (this.continueOnFail()) {
77
+ returnData.push({
78
+ json: { error: error.message },
79
+ pairedItem: { item: i },
80
+ });
81
+ continue;
82
+ }
83
+ throw error;
84
+ }
85
+ }
86
+ return [returnData];
87
+ }
88
+ }
89
+ exports.ScraperApi = ScraperApi;
90
+ async function pollIfRequested(i, jobUrl, defaults) {
91
+ const intervalMs = this.getNodeParameter('pollIntervalMs', i, defaults.intervalMs);
92
+ const timeoutMs = this.getNodeParameter('pollTimeoutMs', i, defaults.timeoutMs);
93
+ return GenericFunctions_1.pollUntilComplete.call(this, { jobUrl, intervalMs, timeoutMs });
94
+ }
95
+ const extractOps = {
96
+ async run(i) {
97
+ var _a;
98
+ const headersRaw = this.getNodeParameter('headers', i, {});
99
+ const body = (0, GenericFunctions_1.pruneEmpty)({
100
+ url: this.getNodeParameter('url', i),
101
+ formats: this.getNodeParameter('formats', i, ['html']),
102
+ render_js: this.getNodeParameter('render_js', i, false),
103
+ processing_mode: this.getNodeParameter('processing_mode', i, 'sync'),
104
+ extract_links: this.getNodeParameter('extract_links', i, false),
105
+ proxy: this.getNodeParameter('proxy', i, {}),
106
+ headers: (0, GenericFunctions_1.headersFromCollection)(headersRaw),
107
+ });
108
+ const response = await GenericFunctions_1.scraperApiRequest.call(this, {
109
+ method: 'POST',
110
+ url: '/v1/extract',
111
+ body,
112
+ });
113
+ const isAsync = body.processing_mode === 'async';
114
+ const waitForCompletion = isAsync && this.getNodeParameter('waitForCompletion', i, true);
115
+ if (!waitForCompletion)
116
+ return response;
117
+ const statusUrl = (_a = response.status_url) !== null && _a !== void 0 ? _a : `/v1/extract/${response.job_id}`;
118
+ return pollIfRequested.call(this, i, statusUrl, { intervalMs: 2000, timeoutMs: 300000 });
119
+ },
120
+ async getJob(i) {
121
+ const jobId = this.getNodeParameter('jobId', i);
122
+ return GenericFunctions_1.scraperApiRequest.call(this, { method: 'GET', url: `/v1/extract/${jobId}` });
123
+ },
124
+ async listJobs(i) {
125
+ const filters = this.getNodeParameter('filters', i, {});
126
+ const page = this.getNodeParameter('page', i, 1);
127
+ const pageSize = this.getNodeParameter('page_size', i, 100);
128
+ return GenericFunctions_1.scraperApiRequest.call(this, {
129
+ method: 'GET',
130
+ url: '/v1/extract/jobs',
131
+ qs: (0, GenericFunctions_1.pruneEmpty)({ ...filters, page, page_size: pageSize }),
132
+ });
133
+ },
134
+ };
135
+ const searchOps = {
136
+ async run(i) {
137
+ const options = this.getNodeParameter('options', i, {});
138
+ const body = (0, GenericFunctions_1.pruneEmpty)({
139
+ query: this.getNodeParameter('query', i),
140
+ ...options,
141
+ });
142
+ return GenericFunctions_1.scraperApiRequest.call(this, { method: 'POST', url: '/v1/search', body });
143
+ },
144
+ async getJob(i) {
145
+ const jobId = this.getNodeParameter('jobId', i);
146
+ return GenericFunctions_1.scraperApiRequest.call(this, { method: 'GET', url: `/v1/search/${jobId}` });
147
+ },
148
+ async listJobs(i) {
149
+ const filters = this.getNodeParameter('filters', i, {});
150
+ const page = this.getNodeParameter('page', i, 1);
151
+ const pageSize = this.getNodeParameter('page_size', i, 100);
152
+ return GenericFunctions_1.scraperApiRequest.call(this, {
153
+ method: 'GET',
154
+ url: '/v1/search/jobs',
155
+ qs: (0, GenericFunctions_1.pruneEmpty)({ ...filters, page, page_size: pageSize }),
156
+ });
157
+ },
158
+ };
159
+ const batchOps = {
160
+ async start(i) {
161
+ var _a;
162
+ const headersRaw = this.getNodeParameter('headers', i, {});
163
+ const body = (0, GenericFunctions_1.pruneEmpty)({
164
+ urls: this.getNodeParameter('urls', i),
165
+ formats: this.getNodeParameter('formats', i, ['markdown']),
166
+ render_js: this.getNodeParameter('render_js', i, false),
167
+ ignore_invalid_urls: this.getNodeParameter('ignore_invalid_urls', i, true),
168
+ proxy: this.getNodeParameter('proxy', i, {}),
169
+ headers: (0, GenericFunctions_1.headersFromCollection)(headersRaw),
170
+ });
171
+ const response = await GenericFunctions_1.scraperApiRequest.call(this, {
172
+ method: 'POST',
173
+ url: '/v1/batch',
174
+ body,
175
+ });
176
+ const waitForCompletion = this.getNodeParameter('waitForCompletion', i, false);
177
+ if (!waitForCompletion)
178
+ return response;
179
+ const statusUrl = (_a = response.status_url) !== null && _a !== void 0 ? _a : `/v1/batch/${response.job_id}`;
180
+ return pollIfRequested.call(this, i, statusUrl, { intervalMs: 5000, timeoutMs: 900000 });
181
+ },
182
+ async getStatus(i) {
183
+ const jobId = this.getNodeParameter('jobId', i);
184
+ const page = this.getNodeParameter('page', i, 1);
185
+ const pageSize = this.getNodeParameter('page_size', i, 100);
186
+ const wait = this.getNodeParameter('waitForCompletion', i, false);
187
+ const jobUrl = `/v1/batch/${jobId}`;
188
+ if (wait) {
189
+ return pollIfRequested.call(this, i, `${jobUrl}?page=${page}&page_size=${pageSize}`, { intervalMs: 5000, timeoutMs: 900000 });
190
+ }
191
+ return GenericFunctions_1.scraperApiRequest.call(this, {
192
+ method: 'GET',
193
+ url: jobUrl,
194
+ qs: { page, page_size: pageSize },
195
+ });
196
+ },
197
+ async listJobs(i) {
198
+ const filters = this.getNodeParameter('filters', i, {});
199
+ const page = this.getNodeParameter('page', i, 1);
200
+ const pageSize = this.getNodeParameter('page_size', i, 100);
201
+ return GenericFunctions_1.scraperApiRequest.call(this, {
202
+ method: 'GET',
203
+ url: '/v1/batch/jobs',
204
+ qs: (0, GenericFunctions_1.pruneEmpty)({ ...filters, page, page_size: pageSize }),
205
+ });
206
+ },
207
+ async cancel(i) {
208
+ const jobId = this.getNodeParameter('jobId', i);
209
+ return GenericFunctions_1.scraperApiRequest.call(this, { method: 'DELETE', url: `/v1/batch/${jobId}` });
210
+ },
211
+ };
212
+ const crawlOps = {
213
+ async start(i) {
214
+ const body = (0, GenericFunctions_1.pruneEmpty)({
215
+ url: this.getNodeParameter('url', i),
216
+ depth: this.getNodeParameter('depth', i, 2),
217
+ limit: this.getNodeParameter('limit', i, 50),
218
+ formats: this.getNodeParameter('formats', i, ['markdown']),
219
+ render_js: this.getNodeParameter('render_js', i, false),
220
+ same_domain_only: this.getNodeParameter('same_domain_only', i, true),
221
+ include_subdomains: this.getNodeParameter('include_subdomains', i, false),
222
+ proxy: this.getNodeParameter('proxy', i, {}),
223
+ });
224
+ return GenericFunctions_1.scraperApiRequest.call(this, { method: 'POST', url: '/v1/crawl', body });
225
+ },
226
+ async getStatus(i) {
227
+ const jobId = this.getNodeParameter('jobId', i);
228
+ const page = this.getNodeParameter('page', i, 1);
229
+ const pageSize = this.getNodeParameter('page_size', i, 100);
230
+ const wait = this.getNodeParameter('waitForCompletion', i, false);
231
+ const jobUrl = `/v1/crawl/${jobId}`;
232
+ if (wait) {
233
+ return pollIfRequested.call(this, i, `${jobUrl}?page=${page}&page_size=${pageSize}`, { intervalMs: 5000, timeoutMs: 600000 });
234
+ }
235
+ return GenericFunctions_1.scraperApiRequest.call(this, {
236
+ method: 'GET',
237
+ url: jobUrl,
238
+ qs: { page, page_size: pageSize },
239
+ });
240
+ },
241
+ };
242
+ const webhookOps = {
243
+ async create(i) {
244
+ const body = (0, GenericFunctions_1.pruneEmpty)({
245
+ url: this.getNodeParameter('url', i),
246
+ event_type: this.getNodeParameter('event_type', i),
247
+ description: this.getNodeParameter('description', i, ''),
248
+ });
249
+ return GenericFunctions_1.scraperApiRequest.call(this, { method: 'POST', url: '/v1/webhooks', body });
250
+ },
251
+ async list(i) {
252
+ const page = this.getNodeParameter('page', i, 1);
253
+ const pageSize = this.getNodeParameter('page_size', i, 100);
254
+ return GenericFunctions_1.scraperApiRequest.call(this, {
255
+ method: 'GET',
256
+ url: '/v1/webhooks',
257
+ qs: { page, page_size: pageSize },
258
+ });
259
+ },
260
+ async get(i) {
261
+ const id = this.getNodeParameter('webhookId', i);
262
+ return GenericFunctions_1.scraperApiRequest.call(this, { method: 'GET', url: `/v1/webhooks/${id}` });
263
+ },
264
+ async update(i) {
265
+ const id = this.getNodeParameter('webhookId', i);
266
+ const body = (0, GenericFunctions_1.pruneEmpty)(this.getNodeParameter('updateFields', i, {}));
267
+ return GenericFunctions_1.scraperApiRequest.call(this, { method: 'PATCH', url: `/v1/webhooks/${id}`, body });
268
+ },
269
+ async delete(i) {
270
+ const id = this.getNodeParameter('webhookId', i);
271
+ await GenericFunctions_1.scraperApiRequest.call(this, { method: 'DELETE', url: `/v1/webhooks/${id}` });
272
+ return { success: true, id };
273
+ },
274
+ async rotateSecret(i) {
275
+ const id = this.getNodeParameter('webhookId', i);
276
+ return GenericFunctions_1.scraperApiRequest.call(this, {
277
+ method: 'POST',
278
+ url: `/v1/webhooks/${id}/rotate-secret`,
279
+ });
280
+ },
281
+ async listDeliveries(i) {
282
+ const id = this.getNodeParameter('webhookId', i);
283
+ const page = this.getNodeParameter('page', i, 1);
284
+ const pageSize = this.getNodeParameter('page_size', i, 100);
285
+ const status = this.getNodeParameter('deliveryStatus', i, '');
286
+ return GenericFunctions_1.scraperApiRequest.call(this, {
287
+ method: 'GET',
288
+ url: `/v1/webhooks/${id}/deliveries`,
289
+ qs: (0, GenericFunctions_1.pruneEmpty)({ page, page_size: pageSize, status }),
290
+ });
291
+ },
292
+ };
293
+ function dispatch(ops, resource) {
294
+ return async function (i, operation) {
295
+ const op = ops[operation];
296
+ if (!op) {
297
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Unknown ${resource} operation: ${operation}`);
298
+ }
299
+ return op.call(this, i, operation);
300
+ };
301
+ }
302
+ const handlers = {
303
+ extract: dispatch(extractOps, 'extract'),
304
+ search: dispatch(searchOps, 'search'),
305
+ batch: dispatch(batchOps, 'batch'),
306
+ crawl: dispatch(crawlOps, 'crawl'),
307
+ webhook: dispatch(webhookOps, 'webhook'),
308
+ async map(i) {
309
+ const url = this.getNodeParameter('url', i);
310
+ const options = this.getNodeParameter('options', i, {});
311
+ return GenericFunctions_1.scraperApiRequest.call(this, {
312
+ method: 'POST',
313
+ url: '/v1/map',
314
+ body: (0, GenericFunctions_1.pruneEmpty)({ url, ...options }),
315
+ });
316
+ },
317
+ async statistics(i) {
318
+ const filters = this.getNodeParameter('filters', i, {});
319
+ return GenericFunctions_1.scraperApiRequest.call(this, {
320
+ method: 'GET',
321
+ url: '/v1/statistics',
322
+ qs: (0, GenericFunctions_1.pruneEmpty)(filters),
323
+ });
324
+ },
325
+ };
326
+ //# sourceMappingURL=ScraperApi.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScraperApi.node.js","sourceRoot":"","sources":["../../../nodes/ScraperApi/ScraperApi.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const batchOperations: INodeProperties[];
3
+ export declare const batchFields: INodeProperties[];
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.batchFields = exports.batchOperations = void 0;
4
+ const shared_1 = require("./shared");
5
+ const startShow = { resource: ['batch'], operation: ['start'] };
6
+ const statusShow = { resource: ['batch'], operation: ['getStatus'] };
7
+ const listShow = { resource: ['batch'], operation: ['listJobs'] };
8
+ exports.batchOperations = [
9
+ {
10
+ displayName: 'Operation',
11
+ name: 'operation',
12
+ type: 'options',
13
+ noDataExpression: true,
14
+ displayOptions: { show: { resource: ['batch'] } },
15
+ options: [
16
+ {
17
+ name: 'Start Batch',
18
+ value: 'start',
19
+ action: 'Start a batch extraction job',
20
+ description: 'Queue many URLs for extraction in a single job',
21
+ },
22
+ {
23
+ name: 'Get Status',
24
+ value: 'getStatus',
25
+ action: 'Get a batch job status',
26
+ description: 'Retrieve the status and results of a batch job',
27
+ },
28
+ {
29
+ name: 'List Jobs',
30
+ value: 'listJobs',
31
+ action: 'List batch jobs',
32
+ description: 'List and filter batch jobs',
33
+ },
34
+ {
35
+ name: 'Cancel',
36
+ value: 'cancel',
37
+ action: 'Cancel a batch job',
38
+ description: 'Stop a batch job that has not finished yet',
39
+ },
40
+ ],
41
+ default: 'start',
42
+ },
43
+ ];
44
+ exports.batchFields = [
45
+ {
46
+ displayName: 'URLs',
47
+ name: 'urls',
48
+ type: 'string',
49
+ required: true,
50
+ typeOptions: { multipleValues: true, multipleValueButtonText: 'Add URL' },
51
+ default: [],
52
+ placeholder: 'https://example.com',
53
+ description: 'The URLs to extract content from',
54
+ displayOptions: { show: startShow },
55
+ },
56
+ {
57
+ displayName: 'Output Formats',
58
+ name: 'formats',
59
+ type: 'multiOptions',
60
+ options: [
61
+ { name: 'HTML', value: 'html' },
62
+ { name: 'Markdown', value: 'markdown' },
63
+ ],
64
+ default: ['markdown'],
65
+ description: 'Output formats to return for every URL',
66
+ displayOptions: { show: startShow },
67
+ },
68
+ {
69
+ displayName: 'Render JavaScript',
70
+ name: 'render_js',
71
+ type: 'boolean',
72
+ default: false,
73
+ description: 'Whether to use a headless browser to render each page (slower, more expensive)',
74
+ displayOptions: { show: startShow },
75
+ },
76
+ {
77
+ displayName: 'Ignore Invalid URLs',
78
+ name: 'ignore_invalid_urls',
79
+ type: 'boolean',
80
+ default: true,
81
+ description: 'Whether to skip URLs that fail validation instead of rejecting the whole batch. Skipped URLs are returned in invalid_urls.',
82
+ displayOptions: { show: startShow },
83
+ },
84
+ ...(0, shared_1.pollingFields)(startShow, { waitDefault: false, intervalMs: 5000, timeoutMs: 900000 }),
85
+ (0, shared_1.proxyCollection)(startShow),
86
+ {
87
+ displayName: 'Custom Headers',
88
+ name: 'headers',
89
+ type: 'fixedCollection',
90
+ typeOptions: { multipleValues: true },
91
+ placeholder: 'Add Header',
92
+ default: {},
93
+ displayOptions: { show: startShow },
94
+ options: [
95
+ {
96
+ displayName: 'Header',
97
+ name: 'header',
98
+ values: [
99
+ { displayName: 'Name', name: 'name', type: 'string', default: '' },
100
+ { displayName: 'Value', name: 'value', type: 'string', default: '' },
101
+ ],
102
+ },
103
+ ],
104
+ },
105
+ {
106
+ displayName: 'Job ID',
107
+ name: 'jobId',
108
+ type: 'string',
109
+ required: true,
110
+ default: '',
111
+ description: 'The batch job ID returned when the batch was started',
112
+ displayOptions: { show: { resource: ['batch'], operation: ['getStatus', 'cancel'] } },
113
+ },
114
+ ...(0, shared_1.pollingFields)(statusShow, { waitDefault: false, intervalMs: 5000, timeoutMs: 900000 }),
115
+ ...(0, shared_1.paginationFields)(statusShow),
116
+ {
117
+ displayName: 'Filters',
118
+ name: 'filters',
119
+ type: 'collection',
120
+ placeholder: 'Add Filter',
121
+ default: {},
122
+ displayOptions: { show: listShow },
123
+ options: [
124
+ { displayName: 'End Date', name: 'end_date', type: 'dateTime', default: '' },
125
+ { displayName: 'Start Date', name: 'start_date', type: 'dateTime', default: '' },
126
+ {
127
+ displayName: 'Status',
128
+ name: 'status',
129
+ type: 'options',
130
+ options: [
131
+ { name: 'Cancelled', value: 'cancelled' },
132
+ { name: 'Completed', value: 'completed' },
133
+ { name: 'Failed', value: 'failed' },
134
+ { name: 'Processing', value: 'processing' },
135
+ { name: 'Queued', value: 'queued' },
136
+ ],
137
+ default: 'queued',
138
+ },
139
+ ],
140
+ },
141
+ ...(0, shared_1.paginationFields)(listShow),
142
+ ];
143
+ //# sourceMappingURL=BatchDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BatchDescription.js","sourceRoot":"","sources":["../../../../nodes/ScraperApi/descriptions/BatchDescription.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const crawlOperations: INodeProperties[];
3
+ export declare const crawlFields: INodeProperties[];
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.crawlFields = exports.crawlOperations = void 0;
4
+ const shared_1 = require("./shared");
5
+ const startShow = { resource: ['crawl'], operation: ['start'] };
6
+ const statusShow = { resource: ['crawl'], operation: ['getStatus'] };
7
+ exports.crawlOperations = [
8
+ {
9
+ displayName: 'Operation',
10
+ name: 'operation',
11
+ type: 'options',
12
+ noDataExpression: true,
13
+ displayOptions: { show: { resource: ['crawl'] } },
14
+ options: [
15
+ {
16
+ name: 'Start Crawl',
17
+ value: 'start',
18
+ action: 'Start a crawl job',
19
+ description: 'Crawl a website starting from a seed URL',
20
+ },
21
+ {
22
+ name: 'Get Status',
23
+ value: 'getStatus',
24
+ action: 'Get crawl job status',
25
+ description: 'Poll for the current status and results of a crawl job',
26
+ },
27
+ ],
28
+ default: 'start',
29
+ },
30
+ ];
31
+ exports.crawlFields = [
32
+ {
33
+ displayName: 'URL',
34
+ name: 'url',
35
+ type: 'string',
36
+ required: true,
37
+ default: '',
38
+ description: 'Seed URL to start crawling from',
39
+ displayOptions: { show: startShow },
40
+ },
41
+ {
42
+ displayName: 'Depth',
43
+ name: 'depth',
44
+ type: 'number',
45
+ default: 2,
46
+ typeOptions: { minValue: 1, maxValue: 10 },
47
+ description: 'Maximum BFS depth from the seed URL (1 = seed only)',
48
+ displayOptions: { show: startShow },
49
+ },
50
+ {
51
+ displayName: 'Limit',
52
+ name: 'limit',
53
+ type: 'number',
54
+ default: 50,
55
+ typeOptions: { minValue: 1 },
56
+ description: 'Max number of results to return',
57
+ displayOptions: { show: startShow },
58
+ },
59
+ {
60
+ displayName: 'Output Formats',
61
+ name: 'formats',
62
+ type: 'multiOptions',
63
+ options: [
64
+ { name: 'Markdown', value: 'markdown' },
65
+ { name: 'HTML', value: 'html' },
66
+ ],
67
+ default: ['markdown'],
68
+ displayOptions: { show: startShow },
69
+ },
70
+ {
71
+ displayName: 'Render JavaScript',
72
+ name: 'render_js',
73
+ type: 'boolean',
74
+ default: false,
75
+ displayOptions: { show: startShow },
76
+ },
77
+ {
78
+ displayName: 'Same Domain Only',
79
+ name: 'same_domain_only',
80
+ type: 'boolean',
81
+ default: true,
82
+ displayOptions: { show: startShow },
83
+ },
84
+ {
85
+ displayName: 'Include Subdomains',
86
+ name: 'include_subdomains',
87
+ type: 'boolean',
88
+ default: false,
89
+ displayOptions: { show: { ...startShow, same_domain_only: [true] } },
90
+ },
91
+ (0, shared_1.proxyCollection)(startShow),
92
+ {
93
+ displayName: 'Job ID',
94
+ name: 'jobId',
95
+ type: 'string',
96
+ required: true,
97
+ default: '',
98
+ displayOptions: { show: statusShow },
99
+ },
100
+ ...(0, shared_1.pollingFields)(statusShow, { waitDefault: false, intervalMs: 5000, timeoutMs: 600000 }),
101
+ ...(0, shared_1.paginationFields)(statusShow),
102
+ ];
103
+ //# sourceMappingURL=CrawlDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrawlDescription.js","sourceRoot":"","sources":["../../../../nodes/ScraperApi/descriptions/CrawlDescription.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const extractOperations: INodeProperties[];
3
+ export declare const extractFields: INodeProperties[];