@taskmagic/apps-scrapeless 0.0.1
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/README.md +3 -0
- package/package.json +47 -0
- package/src/index.d.ts +1 -0
- package/src/index.js +56 -0
- package/src/index.js.map +1 -0
- package/src/lib/actions/crawl-crawl.d.ts +4 -0
- package/src/lib/actions/crawl-crawl.js +63 -0
- package/src/lib/actions/crawl-crawl.js.map +1 -0
- package/src/lib/actions/crawl-scrape.d.ts +3 -0
- package/src/lib/actions/crawl-scrape.js +57 -0
- package/src/lib/actions/crawl-scrape.js.map +1 -0
- package/src/lib/actions/google-search-api.d.ts +5 -0
- package/src/lib/actions/google-search-api.js +58 -0
- package/src/lib/actions/google-search-api.js.map +1 -0
- package/src/lib/actions/google-trends-api.d.ts +7 -0
- package/src/lib/actions/google-trends-api.js +76 -0
- package/src/lib/actions/google-trends-api.js.map +1 -0
- package/src/lib/actions/universal-scraping-api.d.ts +8 -0
- package/src/lib/actions/universal-scraping-api.js +82 -0
- package/src/lib/actions/universal-scraping-api.js.map +1 -0
- package/src/lib/common/auth.d.ts +1 -0
- package/src/lib/common/auth.js +38 -0
- package/src/lib/common/auth.js.map +1 -0
- package/src/lib/common/client.d.ts +12 -0
- package/src/lib/common/client.js +121 -0
- package/src/lib/common/client.js.map +1 -0
- package/src/lib/constants/index.d.ts +8 -0
- package/src/lib/constants/index.js +672 -0
- package/src/lib/constants/index.js.map +1 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.scrapelessCommon = exports.SCRAPELESS_BASE_URL = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_common_1 = require("@taskmagic/pieces-common");
|
|
6
|
+
exports.SCRAPELESS_BASE_URL = 'https://api.scrapeless.com';
|
|
7
|
+
function sendRequest(apiKey, method, path, body, queryParams) {
|
|
8
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
9
|
+
const request = Object.assign(Object.assign({ method, url: path.startsWith('http') ? path : `${exports.SCRAPELESS_BASE_URL}${path}`, headers: {
|
|
10
|
+
'Content-Type': 'application/json',
|
|
11
|
+
'x-api-token': apiKey,
|
|
12
|
+
} }, (body !== undefined ? { body } : {})), (queryParams !== undefined ? { queryParams } : {}));
|
|
13
|
+
const response = yield pieces_common_1.httpClient.sendRequest(request);
|
|
14
|
+
return { status: response.status, body: response.body };
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
function sleep(ms) {
|
|
18
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function createScraperTask(apiKey, actor, input) {
|
|
23
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
return sendRequest(apiKey, pieces_common_1.HttpMethod.POST, '/api/v1/scraper/request', {
|
|
25
|
+
actor,
|
|
26
|
+
input,
|
|
27
|
+
async: true,
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
function getScraperTaskResult(apiKey, taskId) {
|
|
32
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
return sendRequest(apiKey, pieces_common_1.HttpMethod.GET, `/api/v1/scraper/result/${taskId}`);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
function runScraperTask(apiKey, actor, input) {
|
|
37
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
38
|
+
var _a, _b, _c;
|
|
39
|
+
const response = yield createScraperTask(apiKey, actor, input);
|
|
40
|
+
if (response.status === 200) {
|
|
41
|
+
return (_a = response.body) !== null && _a !== void 0 ? _a : null;
|
|
42
|
+
}
|
|
43
|
+
const taskId = (_b = response.body) === null || _b === void 0 ? void 0 : _b.taskId;
|
|
44
|
+
// eslint-disable-next-line no-constant-condition
|
|
45
|
+
while (true) {
|
|
46
|
+
yield sleep(1000);
|
|
47
|
+
const result = yield getScraperTaskResult(apiKey, taskId);
|
|
48
|
+
if (result.status === 200) {
|
|
49
|
+
return (_c = result.body) !== null && _c !== void 0 ? _c : null;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function universalScrape(apiKey, request) {
|
|
55
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
var _a;
|
|
57
|
+
const response = yield sendRequest(apiKey, pieces_common_1.HttpMethod.POST, '/api/v2/unlocker/request', request);
|
|
58
|
+
return (_a = response.body) !== null && _a !== void 0 ? _a : null;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
function crawlScrapeUrl(apiKey, url, params) {
|
|
62
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
var _a, _b;
|
|
64
|
+
const start = yield sendRequest(apiKey, pieces_common_1.HttpMethod.POST, '/api/v1/crawler/scrape', Object.assign({ url }, params));
|
|
65
|
+
const id = (_a = start.body) === null || _a === void 0 ? void 0 : _a.id;
|
|
66
|
+
if (!id) {
|
|
67
|
+
throw new Error('Failed to start a scrape job');
|
|
68
|
+
}
|
|
69
|
+
// eslint-disable-next-line no-constant-condition
|
|
70
|
+
while (true) {
|
|
71
|
+
const status = yield sendRequest(apiKey, pieces_common_1.HttpMethod.GET, `/api/v1/crawler/scrape/${id}`);
|
|
72
|
+
if (((_b = status.body) === null || _b === void 0 ? void 0 : _b.status) !== 'scraping') {
|
|
73
|
+
return status.body;
|
|
74
|
+
}
|
|
75
|
+
yield sleep(2000);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
function crawlCrawlUrl(apiKey, url, params) {
|
|
80
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
var _a, _b, _c, _d, _e, _f;
|
|
82
|
+
const start = yield sendRequest(apiKey, pieces_common_1.HttpMethod.POST, '/api/v1/crawler/crawl', Object.assign({ url }, params));
|
|
83
|
+
const id = (_a = start.body) === null || _a === void 0 ? void 0 : _a.id;
|
|
84
|
+
if (!id) {
|
|
85
|
+
throw new Error('Failed to start a crawl job');
|
|
86
|
+
}
|
|
87
|
+
let pollInterval = 2000;
|
|
88
|
+
// eslint-disable-next-line no-constant-condition
|
|
89
|
+
while (true) {
|
|
90
|
+
let status = yield sendRequest(apiKey, pieces_common_1.HttpMethod.GET, `/api/v1/crawler/crawl/${id}`);
|
|
91
|
+
const state = (_b = status.body) === null || _b === void 0 ? void 0 : _b.status;
|
|
92
|
+
if (state === 'completed') {
|
|
93
|
+
let data = (_d = (_c = status.body) === null || _c === void 0 ? void 0 : _c.data) !== null && _d !== void 0 ? _d : [];
|
|
94
|
+
while (typeof status.body === 'object' &&
|
|
95
|
+
status.body !== null &&
|
|
96
|
+
'next' in status.body &&
|
|
97
|
+
status.body.next) {
|
|
98
|
+
if (!Array.isArray(data) || data.length === 0)
|
|
99
|
+
break;
|
|
100
|
+
status = yield sendRequest(apiKey, pieces_common_1.HttpMethod.GET, status.body.next);
|
|
101
|
+
data = data.concat((_f = (_e = status.body) === null || _e === void 0 ? void 0 : _e.data) !== null && _f !== void 0 ? _f : []);
|
|
102
|
+
}
|
|
103
|
+
return Object.assign(Object.assign({}, status.body), { status: 'completed', data });
|
|
104
|
+
}
|
|
105
|
+
else if (['active', 'paused', 'pending', 'queued', 'waiting', 'scraping'].includes(state)) {
|
|
106
|
+
yield sleep(pollInterval);
|
|
107
|
+
pollInterval = Math.max(pollInterval, 2000);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
throw new Error(`Crawl job failed or was stopped. Status: ${state}`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
exports.scrapelessCommon = {
|
|
116
|
+
runScraperTask,
|
|
117
|
+
universalScrape,
|
|
118
|
+
crawlScrapeUrl,
|
|
119
|
+
crawlCrawlUrl,
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/scrapeless/src/lib/common/client.ts"],"names":[],"mappings":"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"}
|