website-scrap-engine 0.8.0 → 0.8.2
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/lib/downloader/main.d.ts +1 -0
- package/lib/downloader/main.d.ts.map +1 -1
- package/lib/downloader/main.js +18 -9
- package/lib/downloader/main.js.map +1 -1
- package/lib/downloader/multi.d.ts +6 -4
- package/lib/downloader/multi.d.ts.map +1 -1
- package/lib/downloader/multi.js +20 -15
- package/lib/downloader/multi.js.map +1 -1
- package/lib/downloader/single.d.ts +2 -2
- package/lib/downloader/single.d.ts.map +1 -1
- package/lib/downloader/single.js +6 -9
- package/lib/downloader/single.js.map +1 -1
- package/lib/downloader/worker-pool.d.ts +3 -0
- package/lib/downloader/worker-pool.d.ts.map +1 -1
- package/lib/downloader/worker-pool.js +3 -0
- package/lib/downloader/worker-pool.js.map +1 -1
- package/lib/io.d.ts.map +1 -1
- package/lib/life-cycle/adapters.d.ts.map +1 -1
- package/lib/life-cycle/download-resource.d.ts.map +1 -1
- package/lib/life-cycle/download-resource.js +26 -0
- package/lib/life-cycle/download-resource.js.map +1 -1
- package/lib/life-cycle/process-html.d.ts.map +1 -1
- package/lib/life-cycle/process-html.js +37 -15
- package/lib/life-cycle/process-html.js.map +1 -1
- package/lib/life-cycle/process-source-map.d.ts.map +1 -1
- package/lib/logger/config-logger.d.ts.map +1 -1
- package/lib/options.d.ts +2 -0
- package/lib/options.d.ts.map +1 -1
- package/lib/options.js.map +1 -1
- package/lib/resource.d.ts.map +1 -1
- package/lib/util.d.ts.map +1 -1
- package/package.json +7 -7
- package/src/downloader/main.ts +21 -11
- package/src/downloader/multi.ts +24 -19
- package/src/downloader/single.ts +8 -10
- package/src/downloader/worker-pool.ts +3 -3
- package/src/life-cycle/download-resource.ts +27 -0
- package/src/life-cycle/process-html.ts +53 -19
- package/src/options.ts +2 -0
package/lib/downloader/main.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export declare abstract class AbstractDownloader implements DownloaderWithMeta {
|
|
|
21
21
|
protected constructor(pathToOptions: string, overrideOptions?: Partial<StaticDownloadOptions> & {
|
|
22
22
|
pathToWorker?: string;
|
|
23
23
|
});
|
|
24
|
+
protected _internalInit(options: DownloadOptions): Promise<void>;
|
|
24
25
|
get options(): DownloadOptions;
|
|
25
26
|
get pipeline(): PipelineExecutorImpl;
|
|
26
27
|
get concurrency(): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/downloader/main.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAG7B,OAAO,KAAK,EAAC,eAAe,EAAE,qBAAqB,EAAC,MAAM,eAAe,CAAC;AAE1E,OAAO,KAAK,EAAC,WAAW,EAAW,MAAM,gBAAgB,CAAC;AAI1D,OAAO,KAAK,EAAC,eAAe,EAAE,kBAAkB,EAAC,MAAM,YAAY,CAAC;AACpE,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AAEjE,8BAAsB,kBAAmB,YAAW,kBAAkB;IAkBvC,aAAa,EAAE,MAAM;IAjBlD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACjD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvF,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAqB;IACxD,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAqB;IACpD,QAAQ,CAAC,IAAI,EAAE,eAAe,CAK5B;IACF,WAAW,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAa;IAE/D,SAAS,aAAoB,aAAa,EAAE,MAAM,EAChD,eAAe,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/downloader/main.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAG7B,OAAO,KAAK,EAAC,eAAe,EAAE,qBAAqB,EAAC,MAAM,eAAe,CAAC;AAE1E,OAAO,KAAK,EAAC,WAAW,EAAW,MAAM,gBAAgB,CAAC;AAI1D,OAAO,KAAK,EAAC,eAAe,EAAE,kBAAkB,EAAC,MAAM,YAAY,CAAC;AACpE,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AAEjE,8BAAsB,kBAAmB,YAAW,kBAAkB;IAkBvC,aAAa,EAAE,MAAM;IAjBlD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACjD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvF,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAqB;IACxD,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAqB;IACpD,QAAQ,CAAC,IAAI,EAAE,eAAe,CAK5B;IACF,WAAW,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAa;IAE/D,SAAS,aAAoB,aAAa,EAAE,MAAM,EAChD,eAAe,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;IAiB9E,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE,IAAI,OAAO,IAAI,eAAe,CAK7B;IAED,IAAI,QAAQ,IAAI,oBAAoB,CAKnC;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,WAAW,CAAC,cAAc,EAAE,MAAM,EAErC;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAEK,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BzD,SAAS,CAAC,qBAAqB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,GAAG,IAAI;IAwBjE,QAAQ,CAAC,0BAA0B,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAE9E,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,GAAG,IAAI;IAStD,WAAW,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI;IAapF,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,KAAK,IAAI,IAAI;IAcb,IAAI,IAAI,IAAI;IAOZ,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B"}
|
package/lib/downloader/main.js
CHANGED
|
@@ -26,9 +26,15 @@ export class AbstractDownloader {
|
|
|
26
26
|
this._options = options;
|
|
27
27
|
this._pipeline = new PipelineExecutorImpl(options, options.req, options);
|
|
28
28
|
options.configureLogger(options.localRoot, options.logSubDir || '');
|
|
29
|
-
this.
|
|
29
|
+
return this._internalInit(options).then(() => {
|
|
30
|
+
this._isInit = true;
|
|
31
|
+
});
|
|
30
32
|
});
|
|
31
33
|
}
|
|
34
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
35
|
+
_internalInit(options) {
|
|
36
|
+
return Promise.resolve();
|
|
37
|
+
}
|
|
32
38
|
get options() {
|
|
33
39
|
if (this._options) {
|
|
34
40
|
return this._options;
|
|
@@ -54,7 +60,10 @@ export class AbstractDownloader {
|
|
|
54
60
|
return this.queue.pending;
|
|
55
61
|
}
|
|
56
62
|
async addInitialResource(urlArr) {
|
|
57
|
-
|
|
63
|
+
if (!this._pipeline) {
|
|
64
|
+
// _initOptions could await addInitialResource
|
|
65
|
+
await this._initOptions;
|
|
66
|
+
}
|
|
58
67
|
const pipeline = this.pipeline;
|
|
59
68
|
await pipeline.init(pipeline, this);
|
|
60
69
|
// noinspection DuplicatedCode
|
|
@@ -128,13 +137,13 @@ export class AbstractDownloader {
|
|
|
128
137
|
return this.downloadedUrl.size;
|
|
129
138
|
}
|
|
130
139
|
start() {
|
|
131
|
-
if (typeof this.options.adjustConcurrencyFunc === 'function') {
|
|
132
|
-
if (this.adjustTimer) {
|
|
133
|
-
clearInterval(this.adjustTimer);
|
|
134
|
-
}
|
|
135
|
-
this.adjustTimer = setInterval(() => { var _a, _b; return (_b = (_a = this.options).adjustConcurrencyFunc) === null || _b === void 0 ? void 0 : _b.call(_a, this); }, this.options.adjustConcurrencyPeriod || 60000);
|
|
136
|
-
}
|
|
137
140
|
this._initOptions.then(() => {
|
|
141
|
+
if (typeof this.options.adjustConcurrencyFunc === 'function') {
|
|
142
|
+
if (this.adjustTimer) {
|
|
143
|
+
clearInterval(this.adjustTimer);
|
|
144
|
+
}
|
|
145
|
+
this.adjustTimer = setInterval(() => { var _a, _b; return (_b = (_a = this.options).adjustConcurrencyFunc) === null || _b === void 0 ? void 0 : _b.call(_a, this); }, this.options.adjustConcurrencyPeriod || 60000);
|
|
146
|
+
}
|
|
138
147
|
this.queue.start();
|
|
139
148
|
});
|
|
140
149
|
}
|
|
@@ -145,7 +154,7 @@ export class AbstractDownloader {
|
|
|
145
154
|
this.queue.pause();
|
|
146
155
|
}
|
|
147
156
|
onIdle() {
|
|
148
|
-
return this.queue.onIdle();
|
|
157
|
+
return this._initOptions.then(() => this.queue.onIdle());
|
|
149
158
|
}
|
|
150
159
|
async dispose() {
|
|
151
160
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/downloader/main.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAE7B,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB,OAAO,EAAC,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAC,iBAAiB,EAAE,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAC,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAC,qBAAqB,EAAC,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AAEjE,MAAM,OAAgB,kBAAkB;IAkBtC,YAA6B,aAAqB,EAChD,eAA4E;QADjD,kBAAa,GAAb,aAAa,CAAQ;QAVzC,kBAAa,GAAgB,IAAI,GAAG,EAAU,CAAC;QAC/C,cAAS,GAAgB,IAAI,GAAG,EAAU,CAAC;QAC3C,SAAI,GAAoB;YAC/B,kBAAkB,EAAE,CAAC;YACrB,gBAAgB,EAAE,CAAC;YACnB,eAAe,EAAE,CAAC;YAClB,oBAAoB,EAAE,CAAC;SACxB,CAAC;QACF,gBAAW,GAA0C,SAAS,CAAC;QAI7D,IAAI,CAAC,aAAa,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACpD,OAAO,GAAG,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC/D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACzE,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YACpE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/downloader/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import type { WorkerFactory } from './worker-pool.js';
|
|
|
2
2
|
import { WorkerPool } from './worker-pool.js';
|
|
3
3
|
import type { RawResource, Resource } from '../resource.js';
|
|
4
4
|
import type { DownloadWorkerMessage } from './types.js';
|
|
5
|
-
import type { StaticDownloadOptions } from '../options.js';
|
|
5
|
+
import type { DownloadOptions, StaticDownloadOptions } from '../options.js';
|
|
6
6
|
import { AbstractDownloader } from './main.js';
|
|
7
7
|
export interface MultiThreadDownloaderOptions extends StaticDownloadOptions {
|
|
8
8
|
pathToWorker?: string;
|
|
@@ -10,12 +10,14 @@ export interface MultiThreadDownloaderOptions extends StaticDownloadOptions {
|
|
|
10
10
|
}
|
|
11
11
|
export declare class MultiThreadDownloader extends AbstractDownloader {
|
|
12
12
|
pathToOptions: string;
|
|
13
|
-
|
|
13
|
+
private _workerFactory?;
|
|
14
|
+
private _pool;
|
|
14
15
|
readonly init: Promise<void>;
|
|
15
16
|
workerDispose: Promise<void>[];
|
|
16
|
-
constructor(pathToOptions: string, overrideOptions?: Partial<MultiThreadDownloaderOptions>,
|
|
17
|
+
constructor(pathToOptions: string, overrideOptions?: Partial<MultiThreadDownloaderOptions>, _workerFactory?: WorkerFactory | undefined);
|
|
18
|
+
protected _internalInit(options: DownloadOptions): Promise<void>;
|
|
19
|
+
get pool(): WorkerPool<RawResource, DownloadWorkerMessage>;
|
|
17
20
|
downloadAndProcessResource(res: Resource): Promise<boolean | void>;
|
|
18
|
-
onIdle(): Promise<void>;
|
|
19
21
|
dispose(): Promise<void>;
|
|
20
22
|
}
|
|
21
23
|
//# sourceMappingURL=multi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi.d.ts","sourceRoot":"","sources":["../../src/downloader/multi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAC,WAAW,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"multi.d.ts","sourceRoot":"","sources":["../../src/downloader/multi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAC,WAAW,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAC,eAAe,EAAE,qBAAqB,EAAC,MAAM,eAAe,CAAC;AAG1E,OAAO,EAAC,kBAAkB,EAAC,MAAM,WAAW,CAAC;AAE7C,MAAM,WAAW,4BAA6B,SAAQ,qBAAqB;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,qBAAsB,SAAQ,kBAAkB;IAMlD,aAAa,EAAE,MAAM;IAE5B,OAAO,CAAC,cAAc,CAAC;IAPzB,OAAO,CAAC,KAAK,CAA6D;IAC1E,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAGtB,aAAa,EAAE,MAAM,EAC5B,eAAe,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,EAC/C,cAAc,CAAC,EAAE,aAAa,YAAA;IAOxC,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BhE,IAAI,IAAI,IAAI,UAAU,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAKzD;IAEK,0BAA0B,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IA+ClE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAO/B"}
|
package/lib/downloader/multi.js
CHANGED
|
@@ -3,30 +3,41 @@ import { WorkerPool } from './worker-pool.js';
|
|
|
3
3
|
import { skip } from '../logger/logger.js';
|
|
4
4
|
import { AbstractDownloader } from './main.js';
|
|
5
5
|
export class MultiThreadDownloader extends AbstractDownloader {
|
|
6
|
-
constructor(pathToOptions, overrideOptions,
|
|
6
|
+
constructor(pathToOptions, overrideOptions, _workerFactory) {
|
|
7
7
|
super(pathToOptions, overrideOptions);
|
|
8
8
|
this.pathToOptions = pathToOptions;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
this._workerFactory = _workerFactory;
|
|
10
|
+
this.init = this._initOptions;
|
|
11
|
+
this.workerDispose = [];
|
|
12
|
+
}
|
|
13
|
+
_internalInit(options) {
|
|
14
|
+
let workerCount = options.concurrency;
|
|
15
|
+
if (options.workerCount) {
|
|
16
|
+
workerCount = Math.min(options.workerCount, workerCount);
|
|
12
17
|
}
|
|
13
18
|
if (workerCount < 1) {
|
|
14
19
|
workerCount = 1;
|
|
15
20
|
}
|
|
16
|
-
|
|
21
|
+
const overrideOptions = options;
|
|
22
|
+
this._pool = new WorkerPool(workerCount,
|
|
17
23
|
// worker script should be compiled to .js
|
|
18
|
-
(overrideOptions === null || overrideOptions === void 0 ? void 0 : overrideOptions.pathToWorker) || path.resolve(__dirname, 'worker.js'), { pathToOptions, overrideOptions }, (overrideOptions === null || overrideOptions === void 0 ? void 0 : overrideOptions.maxLoad) || -1,
|
|
19
|
-
this.workerDispose = [];
|
|
24
|
+
(overrideOptions === null || overrideOptions === void 0 ? void 0 : overrideOptions.pathToWorker) || path.resolve(__dirname, 'worker.js'), { pathToOptions: this.pathToOptions, overrideOptions }, (overrideOptions === null || overrideOptions === void 0 ? void 0 : overrideOptions.maxLoad) || -1, this._workerFactory);
|
|
20
25
|
for (const info of this.pool.workers) {
|
|
21
26
|
info.worker.addListener('exit', exitCode => this.workerDispose.push(this.pipeline.dispose(this.pipeline, this, info, exitCode)));
|
|
22
27
|
}
|
|
23
28
|
if (this.options.initialUrl) {
|
|
24
|
-
|
|
29
|
+
return this.addInitialResource(this.options.initialUrl);
|
|
25
30
|
}
|
|
26
31
|
else {
|
|
27
|
-
|
|
32
|
+
return this._initOptions.then(() => this.pipeline.init(this.pipeline, this));
|
|
28
33
|
}
|
|
29
34
|
}
|
|
35
|
+
get pool() {
|
|
36
|
+
if (this._pool) {
|
|
37
|
+
return this._pool;
|
|
38
|
+
}
|
|
39
|
+
throw new TypeError('MultiThreadDownloader: pool not initialized');
|
|
40
|
+
}
|
|
30
41
|
async downloadAndProcessResource(res) {
|
|
31
42
|
var _a;
|
|
32
43
|
let r;
|
|
@@ -75,12 +86,6 @@ export class MultiThreadDownloader extends AbstractDownloader {
|
|
|
75
86
|
this.queuedUrl.add(msg.redirectedUrl);
|
|
76
87
|
}
|
|
77
88
|
}
|
|
78
|
-
onIdle() {
|
|
79
|
-
if (this.options.waitForInitBeforeIdle) {
|
|
80
|
-
return this.init.then(() => super.onIdle());
|
|
81
|
-
}
|
|
82
|
-
return super.onIdle();
|
|
83
|
-
}
|
|
84
89
|
async dispose() {
|
|
85
90
|
await super.dispose();
|
|
86
91
|
await this.pool.dispose();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi.js","sourceRoot":"","sources":["../../src/downloader/multi.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAK5C,OAAO,EAAC,IAAI,EAAC,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,WAAW,CAAC;AAO7C,MAAM,OAAO,qBAAsB,SAAQ,kBAAkB;IAK3D,YACS,aAAqB,EAC5B,eAAuD,
|
|
1
|
+
{"version":3,"file":"multi.js","sourceRoot":"","sources":["../../src/downloader/multi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { AbstractDownloader } from './main.js';
|
|
2
2
|
import type { Resource } from '../resource.js';
|
|
3
|
-
import type { StaticDownloadOptions } from '../options.js';
|
|
3
|
+
import type { DownloadOptions, StaticDownloadOptions } from '../options.js';
|
|
4
4
|
export declare class SingleThreadDownloader extends AbstractDownloader {
|
|
5
5
|
pathToOptions: string;
|
|
6
6
|
readonly init: Promise<void>;
|
|
7
7
|
constructor(pathToOptions: string, overrideOptions?: Partial<StaticDownloadOptions> & {
|
|
8
8
|
pathToWorker?: string;
|
|
9
9
|
});
|
|
10
|
+
protected _internalInit(options: DownloadOptions): Promise<void>;
|
|
10
11
|
downloadAndProcessResource(res: Resource): Promise<void>;
|
|
11
|
-
onIdle(): Promise<void>;
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=single.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"single.d.ts","sourceRoot":"","sources":["../../src/downloader/single.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"single.d.ts","sourceRoot":"","sources":["../../src/downloader/single.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAC,eAAe,EAAE,qBAAqB,EAAC,MAAM,eAAe,CAAC;AAO1E,qBAAa,sBAAuB,SAAQ,kBAAkB;IAGzC,aAAa,EAAE,MAAM;IAFxC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEV,aAAa,EAAE,MAAM,EACtC,eAAe,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;IAK9E,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1D,0BAA0B,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAwC/D"}
|
package/lib/downloader/single.js
CHANGED
|
@@ -4,11 +4,14 @@ export class SingleThreadDownloader extends AbstractDownloader {
|
|
|
4
4
|
constructor(pathToOptions, overrideOptions) {
|
|
5
5
|
super(pathToOptions, overrideOptions);
|
|
6
6
|
this.pathToOptions = pathToOptions;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
this.init = this._initOptions;
|
|
8
|
+
}
|
|
9
|
+
_internalInit(options) {
|
|
10
|
+
if (options.initialUrl) {
|
|
11
|
+
return this.addInitialResource(options.initialUrl);
|
|
9
12
|
}
|
|
10
13
|
else {
|
|
11
|
-
|
|
14
|
+
return this.pipeline.init(this.pipeline, this);
|
|
12
15
|
}
|
|
13
16
|
}
|
|
14
17
|
async downloadAndProcessResource(res) {
|
|
@@ -52,11 +55,5 @@ export class SingleThreadDownloader extends AbstractDownloader {
|
|
|
52
55
|
this.handleError(e, 'post-process', res);
|
|
53
56
|
}
|
|
54
57
|
}
|
|
55
|
-
onIdle() {
|
|
56
|
-
if (this.options.waitForInitBeforeIdle) {
|
|
57
|
-
return this.init.then(() => super.onIdle());
|
|
58
|
-
}
|
|
59
|
-
return super.onIdle();
|
|
60
|
-
}
|
|
61
58
|
}
|
|
62
59
|
//# sourceMappingURL=single.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"single.js","sourceRoot":"","sources":["../../src/downloader/single.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,WAAW,CAAC;AAG7C,OAAO,EAAC,IAAI,EAAC,MAAM,qBAAqB,CAAC;AAMzC,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IAG5D,YAAmB,aAAqB,EACtC,eAA4E;QAC5E,KAAK,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAFrB,kBAAa,GAAb,aAAa,CAAQ;QAGtC,IAAI,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"single.js","sourceRoot":"","sources":["../../src/downloader/single.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,WAAW,CAAC;AAG7C,OAAO,EAAC,IAAI,EAAC,MAAM,qBAAqB,CAAC;AAMzC,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IAG5D,YAAmB,aAAqB,EACtC,eAA4E;QAC5E,KAAK,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAFrB,kBAAa,GAAb,aAAa,CAAQ;QAGtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;IAChC,CAAC;IAES,aAAa,CAAC,OAAwB;QAC9C,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,GAAa;QAC5C,IAAI,CAA0B,CAAC;QAC/B,IAAI,CAAC;YACH,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACP,IAAI,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxE,OAAO;YACT,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,sBAAsB,EAAE,GAAG,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEhC,MAAM,MAAM,GAAuB,CAAC,SAAgC,EAAE,EAAE;YACtE,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC1C,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACxC,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC;YACH,MAAM,iBAAiB,GACrB,MAAM,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACtD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,6BAA6B,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;YAC5D,CAAC;iBAAM,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,aAAa;gBACtD,iBAAiB,CAAC,aAAa,KAAK,iBAAiB,CAAC,GAAG,EAAE,CAAC;gBAC5D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;CAEF"}
|
|
@@ -19,7 +19,10 @@ export interface WorkerFactory {
|
|
|
19
19
|
}
|
|
20
20
|
export declare class WorkerPool<T = unknown, R extends WorkerMessage = WorkerMessage> {
|
|
21
21
|
coreSize: number;
|
|
22
|
+
workerScript: string;
|
|
23
|
+
workerData: Record<string, unknown>;
|
|
22
24
|
maxLoad: number;
|
|
25
|
+
factory: WorkerFactory;
|
|
23
26
|
readonly workers: WorkerInfo[];
|
|
24
27
|
readonly pendingTasks: PendingPromiseWithBody<R>[];
|
|
25
28
|
readonly workingTasks: Record<number, PendingPromise>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-pool.d.ts","sourceRoot":"","sources":["../../src/downloader/worker-pool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAE,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,UAAU,CAAC;AAElC,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,aAAa,EACd,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,cAAe,YAAW,UAAU;IAI5B,MAAM,EAAE,MAAM;IAHjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,IAAI,SAAK;gBAEU,MAAM,EAAE,MAAM;CAGlC;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;CAC3D;AAOD,qBAAa,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,SAAS,aAAa,GAAG,aAAa;IAQjE,QAAQ,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"worker-pool.d.ts","sourceRoot":"","sources":["../../src/downloader/worker-pool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAE,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,UAAU,CAAC;AAElC,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,aAAa,EACd,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,cAAe,YAAW,UAAU;IAI5B,MAAM,EAAE,MAAM;IAHjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,IAAI,SAAK;gBAEU,MAAM,EAAE,MAAM;CAGlC;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;CAC3D;AAOD,qBAAa,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,SAAS,aAAa,GAAG,aAAa;IAQjE,QAAQ,EAAE,MAAM;IAChB,YAAY,EAAE,MAAM;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACnC,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,aAAa;IAX/B,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,CAAM;IACpC,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAM;IACxD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAM;IAC3D,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,aAAa,SAAK;gBAGT,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,OAAO,GAAE,MAAW,EACpB,OAAO,GAAE,aAAoC;IAgBtD,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI;IAIjD,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAOzD,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAa1D,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IASxD,UAAU,CACR,QAAQ,EAAE,CAAC,EACX,YAAY,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAc9D,QAAQ,IAAI,IAAI;IAsCV,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAWnC"}
|
|
@@ -14,7 +14,10 @@ function defaultWorkerFactory(filename, options) {
|
|
|
14
14
|
export class WorkerPool {
|
|
15
15
|
constructor(coreSize, workerScript, workerData, maxLoad = -1, factory = defaultWorkerFactory) {
|
|
16
16
|
this.coreSize = coreSize;
|
|
17
|
+
this.workerScript = workerScript;
|
|
18
|
+
this.workerData = workerData;
|
|
17
19
|
this.maxLoad = maxLoad;
|
|
20
|
+
this.factory = factory;
|
|
18
21
|
this.workers = [];
|
|
19
22
|
this.pendingTasks = [];
|
|
20
23
|
this.workingTasks = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-pool.js","sourceRoot":"","sources":["../../src/downloader/worker-pool.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAE3C,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAO9C,OAAO,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAQ7C,MAAM,OAAO,cAAc;IAIzB,YAAmB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAFjC,SAAI,GAAG,CAAC,CAAC;QAGP,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC5B,CAAC;CACF;AAMD,SAAS,oBAAoB,CAC3B,QAAsB,EAAE,OAAuB;IAC/C,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,OAAO,UAAU;IAOrB,YACS,QAAgB,
|
|
1
|
+
{"version":3,"file":"worker-pool.js","sourceRoot":"","sources":["../../src/downloader/worker-pool.ts"],"names":[],"mappings":"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"}
|
package/lib/io.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../src/io.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAE,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAGlE,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../src/io.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAE,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAGlE,eAAO,MAAM,UAAU,GAAU,KAAK,MAAM,EAAE,cAAS,KAAG,OAAO,CAAC,IAAI,CAqBrE,CAAC;AAEF,eAAO,MAAM,SAAS,GACpB,UAAU,MAAM,EAChB,MAAM,YAAY,EAClB,UAAU,gBAAgB,EAC1B,iCAAqB,EACrB,iCAAqB,KACpB,OAAO,CAAC,IAAI,CAoCd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/life-cycle/adapters.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,QAAQ,EAAmB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,gCAAgC,EAChC,iCAAiC,EACjC,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAC,OAAO,EAAE,aAAa,EAAC,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC;CAC1E;AAED,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/life-cycle/adapters.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,QAAQ,EAAmB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,gCAAgC,EAChC,iCAAiC,EACjC,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAC,OAAO,EAAE,aAAa,EAAC,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC;CAC1E;AAED,eAAO,MAAM,WAAW,GAAI,IAAI,eAAe,KAAG,gBACoB,CAAC;AAEvE,MAAM,WAAW,gBAAgB;IAC/B,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,YAAY,GAAI,IAAI,gBAAgB,KAAG,iCAMjD,CAAC;AAGJ,MAAM,WAAW,sBAAsB;IACrC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;CACtF;AAED,eAAO,MAAM,UAAU,GAAI,IAAI,sBAAsB,KAAG,iCAIrD,CAAC;AAEJ,MAAM,WAAW,mBAAmB;IAClC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,eAAO,MAAM,eAAe,GAAI,IAAI,mBAAmB,KAAG,iCAUvD,CAAC;AAEJ,eAAO,MAAM,cAAc,GAAI,IAAI,mBAAmB,KAAG,gCAMtD,CAAC;AAEJ,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,gBAAgB,EACrB,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAclC;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,GAAG;QAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAA;KAAE,GAAG,aAAa,CAAC;CAChF;AAED,eAAO,MAAM,SAAS,GACpB,KAAK,gBAAgB,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAA;CAAE,EACnD,SAAS,qBAAqB,KAC7B,aAOF,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,IAAI,eAAe,KAAG,gCAS/C,CAAC;AAGJ,MAAM,WAAW,oBAAoB;IACnC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,GAAG;QAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAA;KAAE,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;CAC7F;AAED,eAAO,MAAM,gBAAgB,GAAI,IAAI,oBAAoB,KAAG,gCASzD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download-resource.d.ts","sourceRoot":"","sources":["../../src/life-cycle/download-resource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAE,WAAW,EAAgB,QAAQ,EAAC,MAAM,KAAK,CAAC;AAE9E,OAAO,KAAK,EAAC,gBAAgB,EAAE,cAAc,EAAC,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAC;AAKzD,6BAA6B;AAC7B,eAAO,MAAM,eAAe,EAAE,eAqB7B,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,OAAO,CAAC,KAAK,CAAC;IACnD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CA4C3C;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,QAAQ,GAAG;IAAE,sBAAsB,EAAE,MAAM,CAAA;CAAE,EAClD,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,gBAAgB,GAAG,QAAQ,GAAG,IAAI,CAAC,CAyC7C;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,QAAQ,EACb,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,gBAAgB,GAAG,QAAQ,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"download-resource.d.ts","sourceRoot":"","sources":["../../src/life-cycle/download-resource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAE,WAAW,EAAgB,QAAQ,EAAC,MAAM,KAAK,CAAC;AAE9E,OAAO,KAAK,EAAC,gBAAgB,EAAE,cAAc,EAAC,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAC;AAKzD,6BAA6B;AAC7B,eAAO,MAAM,eAAe,EAAE,eAqB7B,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,OAAO,CAAC,KAAK,CAAC;IACnD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CA4C3C;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,QAAQ,GAAG;IAAE,sBAAsB,EAAE,MAAM,CAAA;CAAE,EAClD,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,gBAAgB,GAAG,QAAQ,GAAG,IAAI,CAAC,CAyC7C;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,QAAQ,EACb,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,gBAAgB,GAAG,QAAQ,GAAG,IAAI,CAAC,CAoE7C"}
|
|
@@ -125,6 +125,32 @@ export async function downloadResource(res, requestOptions, options) {
|
|
|
125
125
|
return downloadedResource;
|
|
126
126
|
}
|
|
127
127
|
if (downloadedResource.type === ResourceType.Html) {
|
|
128
|
+
if (options.meta.warnForNonHtml) {
|
|
129
|
+
const headers = downloadedResource.meta.headers;
|
|
130
|
+
if (headers) {
|
|
131
|
+
const contentType = headers['content-type'] || headers['Content-Type'];
|
|
132
|
+
let nonHtml = false;
|
|
133
|
+
if (typeof contentType === 'string') {
|
|
134
|
+
nonHtml = !contentType.includes('/html') &&
|
|
135
|
+
!contentType.includes('/xml') &&
|
|
136
|
+
!contentType.includes('application/xhtml+xml');
|
|
137
|
+
}
|
|
138
|
+
else if (Array.isArray(contentType)) {
|
|
139
|
+
nonHtml = true;
|
|
140
|
+
for (const header of contentType) {
|
|
141
|
+
if (!header.includes('/html') &&
|
|
142
|
+
!header.includes('/xml') &&
|
|
143
|
+
!header.includes('application/xhtml+xml')) {
|
|
144
|
+
nonHtml = false;
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
if (nonHtml) {
|
|
150
|
+
logger.error.warn('Detected non-html content type', downloadedResource.downloadLink, downloadedResource.rawUrl, contentType);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
128
154
|
if (options.meta.detectIncompleteHtml &&
|
|
129
155
|
(typeof downloadedResource.body === 'string' ||
|
|
130
156
|
Buffer.isBuffer(downloadedResource.body))) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download-resource.js","sourceRoot":"","sources":["../../src/life-cycle/download-resource.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"download-resource.js","sourceRoot":"","sources":["../../src/life-cycle/download-resource.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-html.d.ts","sourceRoot":"","sources":["../../src/life-cycle/process-html.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"process-html.d.ts","sourceRoot":"","sources":["../../src/life-cycle/process-html.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,gBAAgB,EAAE,kBAAkB,EAAC,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAC;AAKzD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAsI7D,wBAAsB,WAAW,CAC/B,GAAG,EAAE,gBAAgB,EACrB,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAqBlC"}
|
|
@@ -1,24 +1,11 @@
|
|
|
1
1
|
import { parseSrcset, stringifySrcset } from 'srcset';
|
|
2
|
+
import { load } from 'cheerio';
|
|
2
3
|
import { sources as defaultSources } from '../sources.js';
|
|
3
4
|
import { ResourceType } from '../resource.js';
|
|
4
5
|
import { processCssText } from './process-css.js';
|
|
5
6
|
import { error, skip } from '../logger/logger.js';
|
|
6
7
|
import { parseHtml } from './adapters.js';
|
|
7
|
-
|
|
8
|
-
if (res.type !== ResourceType.Html) {
|
|
9
|
-
return res;
|
|
10
|
-
}
|
|
11
|
-
const refUrl = res.redirectedUrl || res.url;
|
|
12
|
-
const savePath = refUrl === res.url ? res.savePath : undefined;
|
|
13
|
-
// useless since processRedirectedUrl enabled by default
|
|
14
|
-
// refUrl = await pipeline.linkRedirect(refUrl, null, res) || refUrl;
|
|
15
|
-
const depth = res.depth + 1;
|
|
16
|
-
// resources from inline css
|
|
17
|
-
const resources = [];
|
|
18
|
-
let doc = res.meta.doc;
|
|
19
|
-
if (!doc) {
|
|
20
|
-
res.meta.doc = doc = parseHtml(res, options);
|
|
21
|
-
}
|
|
8
|
+
async function processHtmlDoc(options, doc, res, pipeline, depth, resources, refUrl, savePath, submit) {
|
|
22
9
|
const sources = options.sources || defaultSources;
|
|
23
10
|
for (const { selector, attr, type } of sources) {
|
|
24
11
|
const elements = doc(selector);
|
|
@@ -113,6 +100,41 @@ export async function processHtml(res, submit, options, pipeline) {
|
|
|
113
100
|
}
|
|
114
101
|
}
|
|
115
102
|
}
|
|
103
|
+
const iframeSrcDocs = doc('iframe[srcdoc]');
|
|
104
|
+
for (let index = 0; index < iframeSrcDocs.length; index++) {
|
|
105
|
+
const elem = iframeSrcDocs.eq(index);
|
|
106
|
+
const attrValue = elem.attr('srcdoc');
|
|
107
|
+
if (!attrValue) {
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
try {
|
|
111
|
+
const iframeDoc = load(attrValue);
|
|
112
|
+
await processHtmlDoc(options, iframeDoc, res, pipeline, depth, resources, refUrl, savePath, submit);
|
|
113
|
+
const html = options.cheerioSerialize ?
|
|
114
|
+
iframeDoc.html(options.cheerioSerialize) : iframeDoc.html();
|
|
115
|
+
elem.attr('srcdoc', html);
|
|
116
|
+
}
|
|
117
|
+
catch (e) {
|
|
118
|
+
error.info('can not parse iframe srcdoc', res.url, res.rawUrl, e);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
export async function processHtml(res, submit, options, pipeline) {
|
|
123
|
+
if (res.type !== ResourceType.Html) {
|
|
124
|
+
return res;
|
|
125
|
+
}
|
|
126
|
+
const refUrl = res.redirectedUrl || res.url;
|
|
127
|
+
const savePath = refUrl === res.url ? res.savePath : undefined;
|
|
128
|
+
// useless since processRedirectedUrl enabled by default
|
|
129
|
+
// refUrl = await pipeline.linkRedirect(refUrl, null, res) || refUrl;
|
|
130
|
+
const depth = res.depth + 1;
|
|
131
|
+
let doc = res.meta.doc;
|
|
132
|
+
if (!doc) {
|
|
133
|
+
res.meta.doc = doc = parseHtml(res, options);
|
|
134
|
+
}
|
|
135
|
+
// resources from inline css
|
|
136
|
+
const resources = [];
|
|
137
|
+
await processHtmlDoc(options, doc, res, pipeline, depth, resources, refUrl, savePath, submit);
|
|
116
138
|
if (resources.length) {
|
|
117
139
|
submit(resources);
|
|
118
140
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-html.js","sourceRoot":"","sources":["../../src/life-cycle/process-html.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAE,eAAe,EAAC,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,eAAe,CAAC;AAIxD,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AAMxC,
|
|
1
|
+
{"version":3,"file":"process-html.js","sourceRoot":"","sources":["../../src/life-cycle/process-html.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-source-map.d.ts","sourceRoot":"","sources":["../../src/life-cycle/process-source-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAE,kBAAkB,EAAC,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAC;AAGzD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAG7D,eAAO,MAAM,iBAAiB,QAA4B,CAAC;AAC3D,eAAO,MAAM,mBAAmB,QAA8B,CAAC;AAG/D,eAAO,MAAM,eAAe,UAI3B,CAAC;AAaF,eAAO,MAAM,aAAa,UAA4C,CAAC;AAEvE,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"process-source-map.d.ts","sourceRoot":"","sources":["../../src/life-cycle/process-source-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAE,kBAAkB,EAAC,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAC;AAGzD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAG7D,eAAO,MAAM,iBAAiB,QAA4B,CAAC;AAC3D,eAAO,MAAM,mBAAmB,QAA8B,CAAC;AAG/D,eAAO,MAAM,eAAe,UAI3B,CAAC;AAaF,eAAO,MAAM,aAAa,UAA4C,CAAC;AAEvE,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,OAExC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,CAI/D,CAAC;AAEH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,gBAAgB,EACrB,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAgI9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-logger.d.ts","sourceRoot":"","sources":["../../src/logger/config-logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAKnC,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"config-logger.d.ts","sourceRoot":"","sources":["../../src/logger/config-logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAKnC,eAAO,MAAM,eAAe,GAAI,WAAW,MAAM,EAAE,QAAQ,MAAM,KAAG,MAyFhE,CAAC"}
|
package/lib/options.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ import type { CheerioOptionsInterface } from './types.js';
|
|
|
10
10
|
*/
|
|
11
11
|
export interface StaticDownloadMeta extends Record<string, string | number | boolean | void> {
|
|
12
12
|
detectIncompleteHtml?: '</html>' | '</body>' | string;
|
|
13
|
+
warnForNonHtml?: boolean;
|
|
13
14
|
}
|
|
14
15
|
/**
|
|
15
16
|
* Options which should not be changed at runtime, and safe for cloning
|
|
@@ -103,6 +104,7 @@ export interface StaticDownloadOptions {
|
|
|
103
104
|
/**
|
|
104
105
|
* Wait for this.init in method onIdle.
|
|
105
106
|
* See https://github.com/website-local/website-scrap-engine/issues/152
|
|
107
|
+
* @deprecated since 0.8.2
|
|
106
108
|
*/
|
|
107
109
|
waitForInitBeforeIdle?: boolean;
|
|
108
110
|
/**
|
package/lib/options.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAE,aAAa,EAAe,YAAY,EAAC,MAAM,KAAK,CAAC;AAEhF,OAAO,KAAK,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAElE,OAAO,KAAK,EAAC,mBAAmB,EAAE,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAM/E,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,YAAY,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,kBACf,SAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAE,IAAI,CAAC;IACvD,oBAAoB,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
|
package/lib/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,EAAE,EAAC,OAAO,EAAC,MAAM,KAAK,CAAC;AAEjC,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAE7C,oCAAoC;AACpC,OAAO,EAAC,eAAe,EAAC,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACzC,oCAAoC;AACpC,OAAO,EAAC,MAAM,EAAC,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,EAAE,EAAC,OAAO,EAAC,MAAM,KAAK,CAAC;AAEjC,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAE7C,oCAAoC;AACpC,OAAO,EAAC,eAAe,EAAC,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACzC,oCAAoC;AACpC,OAAO,EAAC,MAAM,EAAC,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAC;AAiKrC,MAAM,eAAe,GAAG,IAAI,CAAC;AAE7B,MAAM,eAAe,GAAgB,IAAI,GAAG,CAAC;IAC3C,0CAA0C;IAC1C,WAAW;IACX,6CAA6C;IAC7C,YAAY;IACZ,mCAAmC;IACnC,YAAY;IACZ,wCAAwC;IACxC,cAAc;IACd,+DAA+D;IAC/D,OAAO;IACP,kDAAkD;IAClD,WAAW;IACX,0BAA0B;IAC1B,aAAa;IACb,wBAAwB;IACxB,WAAW;IACX,4BAA4B;IAC5B,WAAW;CACZ,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAkB,CAAC,WAAwB,EAAU,EAAE;IACpF,MAAM,EAAC,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAC,GAAG,WAAW,CAAC;IAE7D,IAAI,YAAY,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;QACrC,GAAqB,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACjD,OAAO,CAAC,CAAC;IACX,CAAC;SAAM,CAAC;QACL,GAAqB,CAAC,kBAAkB,GAAG,KAAK,CAAC;IACpD,CAAC;IAED,MAAM,SAAS,GAAY,GAAG,CAAC,OAAO;QACpC,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC5B,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACnD,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;IAClC,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI;QAC3B,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC/B,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5C,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAc,CAAC,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAwB,YAAY,CAAC,WAAW;QACjE,GAAG,CAAC,QAAQ;QACZ,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC7D,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,aAAa;QAChD,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,CAAC,EAAE,CAAC;QAE3D,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW;YACpC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACpD,KAAK,CAAC,KAAK,CAAC,wBAAwB,EAClC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAG,GAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAC5D,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,KAAK,GAAW,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;IAC5E,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,IAAI,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,GAAG,eAAe,EAAE,CAAC;QAC5B,KAAK,GAAG,eAAe,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;IACzD,CAAC;IACD,wBAAwB;IACxB,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;QAC1B,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;QAClD,mBAAmB;QACnB,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;QACrC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO;YACtB,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,IAAI,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YAC/D,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7B,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5E,CAAC;iBAAM,CAAC;gBACN,UAAU,IAAI,IAAI,CAAC;YACrB,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvB,UAAU,IAAI,CAAC,CAAC;gBAChB,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;oBACnB,UAAU,GAAG,CAAC,CAAC;gBACjB,CAAC;gBACD,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;oBAC/B,IAAI,UAAU,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;wBAC7C,KAAK,GAAG,UAAU,CAAC;oBACrB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,KAAK,GAAG,UAAU,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,IAAI,CAAC,CAAC;IACX,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,cAAc,GAAoB;IACtC,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,EAAE;IACf,eAAe;IACf,cAAc;IACd,kBAAkB,EAAE,EAAE;IACtB,QAAQ,EAAE,EAAE;IACZ,mBAAmB;IACnB,QAAQ,EAAE,EAAiC;IAC3C,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE;QACJ,oBAAoB,EAAE,SAAS;KAChC;IACD,oBAAoB,EAAE,EAAE;IACxB,qBAAqB,EAAE,EAAE;IACzB,GAAG,EAAE,EAAE;IACP,UAAU,EAAE,EAAE;IACd,sBAAsB,EAAE,IAAI;CAC7B,CAAC;AAEF,MAAM,UAAU,sBAAsB,CACpC,OAAuD;IACvD,MAAM,MAAM,GAAoB,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACpE,+CAA+C;IAC/C,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;IACxB,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,YAAY,GAAG,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,CAAC,sBAAsB,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACzC,CAAC;IACD,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACnE,MAAM,CAAC,GAAG,CAAC,OAAO,GAAG;YACnB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,MAAM;SAChB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/D,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG;YACjB,KAAK,EAAE,EAAE;YACT,aAAa,EAAE,KAAK;YACpB,cAAc,EAAE,kBAAkB;SACnC,CAAC;IACJ,CAAC;SAAM,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG;YACjB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK;YACvB,aAAa,EAAE,KAAK;YACpB,cAAc,EAAE,kBAAkB;SACnC,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,GAAG,kBAAkB,CAAC;IACvD,CAAC;IACD,IAAI,OAAO,CAAC,uBAAuB;QACjC,OAAO,CAAC,uBAAuB,GAAG,CAAC;QACnC,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;QACjC,OAAO,CAAC,qBAAqB,GAAG,MAAM,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAwB;;IAC3D,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,SAAS,CAAC,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,MAAA,OAAO,CAAC,YAAY,0CAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClD,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACtD,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAAkD,EAClD,eAAgD;IAChD,MAAM,GAAG,GAAoB,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACjF,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;QACrC,eAAe,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,GAAG,CAAC,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;QACrC,eAAe,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;AACnE,CAAC"}
|
package/lib/resource.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"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"}
|
package/lib/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAE,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAIlE,eAAO,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAE,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAIlE,eAAO,MAAM,KAAK,GAAI,IAAI,MAAM,KAAG,OAAO,CAAC,IAAI,CACN,CAAC;AAE1C,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,MACD,CAAC;AAEzC,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,OAAO,GAAG,EAAE,GAAG,IAEY,CAAC;AAErE,eAAO,MAAM,UAAU,GAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,SAAS,OAAO,KACrE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAM/B,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,MAAM,YAAY,EAAE,UAAU,gBAAgB,KAAG,MAezE,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,CAAC,EAAE,MAAM,MAAM,KAAG,OAAO,CAAC,CAAC,CAIhE,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,MAmB/C,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,KAAG,MAQzB,CAAC;AAEvB,eAAO,MAAM,cAAc,6BAAkC,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAG,CAAC,GAAG,CAW3D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,KAAG,OACiB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "website-scrap-engine",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.2",
|
|
4
4
|
"description": "Configurable website scraper in typescript",
|
|
5
5
|
"main": "lib",
|
|
6
6
|
"types": "lib",
|
|
@@ -30,14 +30,14 @@
|
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@jest/globals": "^29.7.0",
|
|
33
|
-
"@types/node": "^22.
|
|
33
|
+
"@types/node": "^22.13.10",
|
|
34
34
|
"@types/urijs": "^1.19.25",
|
|
35
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
36
|
-
"@typescript-eslint/parser": "^8.
|
|
37
|
-
"eslint": "^9.
|
|
35
|
+
"@typescript-eslint/eslint-plugin": "^8.26.1",
|
|
36
|
+
"@typescript-eslint/parser": "^8.26.1",
|
|
37
|
+
"eslint": "^9.22.0",
|
|
38
38
|
"jest": "^29.7.0",
|
|
39
|
-
"ts-jest": "^29.2.
|
|
40
|
-
"typescript": "^5.
|
|
39
|
+
"ts-jest": "^29.2.6",
|
|
40
|
+
"typescript": "^5.8.2"
|
|
41
41
|
},
|
|
42
42
|
"files": [
|
|
43
43
|
".editorconfig",
|
package/src/downloader/main.ts
CHANGED
|
@@ -39,10 +39,17 @@ export abstract class AbstractDownloader implements DownloaderWithMeta {
|
|
|
39
39
|
this._options = options;
|
|
40
40
|
this._pipeline = new PipelineExecutorImpl(options, options.req, options);
|
|
41
41
|
options.configureLogger(options.localRoot, options.logSubDir || '');
|
|
42
|
-
this.
|
|
42
|
+
return this._internalInit(options).then(() => {
|
|
43
|
+
this._isInit = true;
|
|
44
|
+
});
|
|
43
45
|
});
|
|
44
46
|
}
|
|
45
47
|
|
|
48
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
49
|
+
protected _internalInit(options: DownloadOptions): Promise<void> {
|
|
50
|
+
return Promise.resolve();
|
|
51
|
+
}
|
|
52
|
+
|
|
46
53
|
get options(): DownloadOptions {
|
|
47
54
|
if (this._options) {
|
|
48
55
|
return this._options;
|
|
@@ -74,7 +81,10 @@ export abstract class AbstractDownloader implements DownloaderWithMeta {
|
|
|
74
81
|
}
|
|
75
82
|
|
|
76
83
|
async addInitialResource(urlArr: string[]): Promise<void> {
|
|
77
|
-
|
|
84
|
+
if (!this._pipeline) {
|
|
85
|
+
// _initOptions could await addInitialResource
|
|
86
|
+
await this._initOptions;
|
|
87
|
+
}
|
|
78
88
|
const pipeline = this.pipeline;
|
|
79
89
|
await pipeline.init(pipeline, this);
|
|
80
90
|
// noinspection DuplicatedCode
|
|
@@ -150,15 +160,15 @@ export abstract class AbstractDownloader implements DownloaderWithMeta {
|
|
|
150
160
|
}
|
|
151
161
|
|
|
152
162
|
start(): void {
|
|
153
|
-
if (typeof this.options.adjustConcurrencyFunc === 'function') {
|
|
154
|
-
if (this.adjustTimer) {
|
|
155
|
-
clearInterval(this.adjustTimer);
|
|
156
|
-
}
|
|
157
|
-
this.adjustTimer = setInterval(
|
|
158
|
-
() => this.options.adjustConcurrencyFunc?.(this),
|
|
159
|
-
this.options.adjustConcurrencyPeriod || 60000);
|
|
160
|
-
}
|
|
161
163
|
this._initOptions.then(() => {
|
|
164
|
+
if (typeof this.options.adjustConcurrencyFunc === 'function') {
|
|
165
|
+
if (this.adjustTimer) {
|
|
166
|
+
clearInterval(this.adjustTimer);
|
|
167
|
+
}
|
|
168
|
+
this.adjustTimer = setInterval(
|
|
169
|
+
() => this.options.adjustConcurrencyFunc?.(this),
|
|
170
|
+
this.options.adjustConcurrencyPeriod || 60000);
|
|
171
|
+
}
|
|
162
172
|
this.queue.start();
|
|
163
173
|
});
|
|
164
174
|
}
|
|
@@ -171,7 +181,7 @@ export abstract class AbstractDownloader implements DownloaderWithMeta {
|
|
|
171
181
|
}
|
|
172
182
|
|
|
173
183
|
onIdle(): Promise<void> {
|
|
174
|
-
return this.queue.onIdle();
|
|
184
|
+
return this._initOptions.then(() => this.queue.onIdle());
|
|
175
185
|
}
|
|
176
186
|
|
|
177
187
|
async dispose(): Promise<void> {
|
package/src/downloader/multi.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type {WorkerFactory} from './worker-pool.js';
|
|
|
3
3
|
import {WorkerPool} from './worker-pool.js';
|
|
4
4
|
import type {RawResource, Resource} from '../resource.js';
|
|
5
5
|
import type {DownloadWorkerMessage} from './types.js';
|
|
6
|
-
import type {StaticDownloadOptions} from '../options.js';
|
|
6
|
+
import type {DownloadOptions, StaticDownloadOptions} from '../options.js';
|
|
7
7
|
import type {DownloadResource} from '../life-cycle/types.js';
|
|
8
8
|
import {skip} from '../logger/logger.js';
|
|
9
9
|
import {AbstractDownloader} from './main.js';
|
|
@@ -14,41 +14,53 @@ export interface MultiThreadDownloaderOptions extends StaticDownloadOptions {
|
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
export class MultiThreadDownloader extends AbstractDownloader {
|
|
17
|
-
|
|
17
|
+
private _pool: WorkerPool<RawResource, DownloadWorkerMessage> | undefined;
|
|
18
18
|
readonly init: Promise<void>;
|
|
19
19
|
workerDispose: Promise<void>[];
|
|
20
20
|
|
|
21
21
|
constructor(
|
|
22
22
|
public pathToOptions: string,
|
|
23
23
|
overrideOptions?: Partial<MultiThreadDownloaderOptions>,
|
|
24
|
-
|
|
24
|
+
private _workerFactory?: WorkerFactory
|
|
25
25
|
) {
|
|
26
26
|
super(pathToOptions, overrideOptions);
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
this.init = this._initOptions;
|
|
28
|
+
this.workerDispose = [];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
protected _internalInit(options: DownloadOptions): Promise<void> {
|
|
32
|
+
let workerCount: number = options.concurrency;
|
|
33
|
+
if (options.workerCount) {
|
|
34
|
+
workerCount = Math.min(options.workerCount, workerCount);
|
|
30
35
|
}
|
|
31
36
|
if (workerCount < 1) {
|
|
32
37
|
workerCount = 1;
|
|
33
38
|
}
|
|
34
|
-
|
|
39
|
+
const overrideOptions = options as Partial<MultiThreadDownloaderOptions>;
|
|
40
|
+
this._pool = new WorkerPool<RawResource, DownloadWorkerMessage>(workerCount,
|
|
35
41
|
// worker script should be compiled to .js
|
|
36
42
|
overrideOptions?.pathToWorker || path.resolve(__dirname, 'worker.js'),
|
|
37
|
-
{pathToOptions, overrideOptions},
|
|
43
|
+
{pathToOptions: this.pathToOptions, overrideOptions},
|
|
38
44
|
overrideOptions?.maxLoad || -1,
|
|
39
|
-
|
|
45
|
+
this._workerFactory
|
|
40
46
|
);
|
|
41
|
-
this.workerDispose = [];
|
|
42
47
|
for (const info of this.pool.workers) {
|
|
43
48
|
info.worker.addListener('exit',
|
|
44
49
|
exitCode => this.workerDispose.push(
|
|
45
50
|
this.pipeline.dispose(this.pipeline, this, info, exitCode)));
|
|
46
51
|
}
|
|
47
52
|
if (this.options.initialUrl) {
|
|
48
|
-
|
|
53
|
+
return this.addInitialResource(this.options.initialUrl);
|
|
49
54
|
} else {
|
|
50
|
-
|
|
55
|
+
return this._initOptions.then(() => this.pipeline.init(this.pipeline, this));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
get pool(): WorkerPool<RawResource, DownloadWorkerMessage> {
|
|
60
|
+
if (this._pool) {
|
|
61
|
+
return this._pool;
|
|
51
62
|
}
|
|
63
|
+
throw new TypeError('MultiThreadDownloader: pool not initialized');
|
|
52
64
|
}
|
|
53
65
|
|
|
54
66
|
async downloadAndProcessResource(res: Resource): Promise<boolean | void> {
|
|
@@ -98,13 +110,6 @@ export class MultiThreadDownloader extends AbstractDownloader {
|
|
|
98
110
|
|
|
99
111
|
}
|
|
100
112
|
|
|
101
|
-
onIdle(): Promise<void> {
|
|
102
|
-
if (this.options.waitForInitBeforeIdle) {
|
|
103
|
-
return this.init.then(() => super.onIdle());
|
|
104
|
-
}
|
|
105
|
-
return super.onIdle();
|
|
106
|
-
}
|
|
107
|
-
|
|
108
113
|
async dispose(): Promise<void> {
|
|
109
114
|
await super.dispose();
|
|
110
115
|
await this.pool.dispose();
|
package/src/downloader/single.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {AbstractDownloader} from './main.js';
|
|
2
2
|
import type {Resource} from '../resource.js';
|
|
3
|
-
import type {StaticDownloadOptions} from '../options.js';
|
|
3
|
+
import type {DownloadOptions, StaticDownloadOptions} from '../options.js';
|
|
4
4
|
import {skip} from '../logger/logger.js';
|
|
5
5
|
import type {
|
|
6
6
|
DownloadResource,
|
|
@@ -13,10 +13,14 @@ export class SingleThreadDownloader extends AbstractDownloader {
|
|
|
13
13
|
constructor(public pathToOptions: string,
|
|
14
14
|
overrideOptions?: Partial<StaticDownloadOptions> & { pathToWorker?: string }) {
|
|
15
15
|
super(pathToOptions, overrideOptions);
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
this.init = this._initOptions;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
protected _internalInit(options: DownloadOptions): Promise<void> {
|
|
20
|
+
if (options.initialUrl) {
|
|
21
|
+
return this.addInitialResource(options.initialUrl);
|
|
18
22
|
} else {
|
|
19
|
-
|
|
23
|
+
return this.pipeline.init(this.pipeline, this);
|
|
20
24
|
}
|
|
21
25
|
}
|
|
22
26
|
|
|
@@ -60,10 +64,4 @@ export class SingleThreadDownloader extends AbstractDownloader {
|
|
|
60
64
|
}
|
|
61
65
|
}
|
|
62
66
|
|
|
63
|
-
onIdle(): Promise<void> {
|
|
64
|
-
if (this.options.waitForInitBeforeIdle) {
|
|
65
|
-
return this.init.then(() => super.onIdle());
|
|
66
|
-
}
|
|
67
|
-
return super.onIdle();
|
|
68
|
-
}
|
|
69
67
|
}
|
|
@@ -43,10 +43,10 @@ export class WorkerPool<T = unknown, R extends WorkerMessage = WorkerMessage> {
|
|
|
43
43
|
|
|
44
44
|
constructor(
|
|
45
45
|
public coreSize: number,
|
|
46
|
-
workerScript: string,
|
|
47
|
-
workerData: Record<string, unknown>,
|
|
46
|
+
public workerScript: string,
|
|
47
|
+
public workerData: Record<string, unknown>,
|
|
48
48
|
public maxLoad: number = -1,
|
|
49
|
-
factory: WorkerFactory = defaultWorkerFactory
|
|
49
|
+
public factory: WorkerFactory = defaultWorkerFactory
|
|
50
50
|
) {
|
|
51
51
|
const ready: Promise<void>[] = [];
|
|
52
52
|
for (let i = 0; i < coreSize; i++) {
|
|
@@ -165,6 +165,33 @@ export async function downloadResource(
|
|
|
165
165
|
return downloadedResource;
|
|
166
166
|
}
|
|
167
167
|
if (downloadedResource.type === ResourceType.Html) {
|
|
168
|
+
if (options.meta.warnForNonHtml) {
|
|
169
|
+
const headers = downloadedResource.meta.headers;
|
|
170
|
+
if (headers) {
|
|
171
|
+
const contentType =
|
|
172
|
+
headers['content-type'] || headers['Content-Type'];
|
|
173
|
+
let nonHtml = false;
|
|
174
|
+
if (typeof contentType === 'string') {
|
|
175
|
+
nonHtml = !contentType.includes('/html') &&
|
|
176
|
+
!contentType.includes('/xml') &&
|
|
177
|
+
!contentType.includes('application/xhtml+xml');
|
|
178
|
+
} else if (Array.isArray(contentType)) {
|
|
179
|
+
nonHtml = true;
|
|
180
|
+
for (const header of contentType) {
|
|
181
|
+
if (!header.includes('/html') &&
|
|
182
|
+
!header.includes('/xml') &&
|
|
183
|
+
!header.includes('application/xhtml+xml')) {
|
|
184
|
+
nonHtml = false;
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
if (nonHtml) {
|
|
190
|
+
logger.error.warn('Detected non-html content type',
|
|
191
|
+
downloadedResource.downloadLink, downloadedResource.rawUrl, contentType);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
168
195
|
if (options.meta.detectIncompleteHtml &&
|
|
169
196
|
(typeof downloadedResource.body === 'string' ||
|
|
170
197
|
Buffer.isBuffer(downloadedResource.body))) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type {SrcSetDefinition} from 'srcset';
|
|
2
2
|
import {parseSrcset, stringifySrcset} from 'srcset';
|
|
3
|
+
import {load} from 'cheerio';
|
|
3
4
|
import {sources as defaultSources} from '../sources.js';
|
|
4
5
|
import type {DownloadResource, SubmitResourceFunc} from './types.js';
|
|
5
6
|
import type {StaticDownloadOptions} from '../options.js';
|
|
@@ -14,26 +15,17 @@ import type {Cheerio, CheerioStatic} from '../types.js';
|
|
|
14
15
|
type Writeable<T> = { -readonly [P in keyof T]: T[P] };
|
|
15
16
|
type WriteableSrcSet = Writeable<SrcSetDefinition>;
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
res: DownloadResource,
|
|
19
|
-
submit: SubmitResourceFunc,
|
|
18
|
+
async function processHtmlDoc(
|
|
20
19
|
options: StaticDownloadOptions,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const depth: number = res.depth + 1;
|
|
31
|
-
// resources from inline css
|
|
32
|
-
const resources: Resource[] = [];
|
|
33
|
-
let doc: CheerioStatic | void = res.meta.doc;
|
|
34
|
-
if (!doc) {
|
|
35
|
-
res.meta.doc = doc = parseHtml(res, options);
|
|
36
|
-
}
|
|
20
|
+
doc: CheerioStatic,
|
|
21
|
+
res: DownloadResource,
|
|
22
|
+
pipeline: PipelineExecutor,
|
|
23
|
+
depth: number,
|
|
24
|
+
resources: Resource[],
|
|
25
|
+
refUrl: string,
|
|
26
|
+
savePath: string | undefined,
|
|
27
|
+
submit: SubmitResourceFunc
|
|
28
|
+
) {
|
|
37
29
|
const sources: typeof defaultSources = options.sources || defaultSources;
|
|
38
30
|
for (const {selector, attr, type} of sources) {
|
|
39
31
|
const elements: Cheerio = doc(selector);
|
|
@@ -130,6 +122,48 @@ export async function processHtml(
|
|
|
130
122
|
}
|
|
131
123
|
}
|
|
132
124
|
}
|
|
125
|
+
const iframeSrcDocs = doc('iframe[srcdoc]');
|
|
126
|
+
|
|
127
|
+
for (let index = 0; index < iframeSrcDocs.length; index++) {
|
|
128
|
+
const elem = iframeSrcDocs.eq(index);
|
|
129
|
+
const attrValue: string | void = elem.attr('srcdoc');
|
|
130
|
+
if (!attrValue) {
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
try {
|
|
134
|
+
const iframeDoc = load(attrValue);
|
|
135
|
+
await processHtmlDoc(options, iframeDoc, res, pipeline, depth, resources, refUrl, savePath, submit);
|
|
136
|
+
const html = options.cheerioSerialize ?
|
|
137
|
+
iframeDoc.html(options.cheerioSerialize) : iframeDoc.html();
|
|
138
|
+
elem.attr('srcdoc', html);
|
|
139
|
+
} catch (e) {
|
|
140
|
+
error.info('can not parse iframe srcdoc', res.url, res.rawUrl, e);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
export async function processHtml(
|
|
146
|
+
res: DownloadResource,
|
|
147
|
+
submit: SubmitResourceFunc,
|
|
148
|
+
options: StaticDownloadOptions,
|
|
149
|
+
pipeline: PipelineExecutor
|
|
150
|
+
): Promise<DownloadResource | void> {
|
|
151
|
+
if (res.type !== ResourceType.Html) {
|
|
152
|
+
return res;
|
|
153
|
+
}
|
|
154
|
+
const refUrl: string = res.redirectedUrl || res.url;
|
|
155
|
+
const savePath = refUrl === res.url ? res.savePath : undefined;
|
|
156
|
+
// useless since processRedirectedUrl enabled by default
|
|
157
|
+
// refUrl = await pipeline.linkRedirect(refUrl, null, res) || refUrl;
|
|
158
|
+
|
|
159
|
+
const depth: number = res.depth + 1;
|
|
160
|
+
let doc: CheerioStatic | void = res.meta.doc;
|
|
161
|
+
if (!doc) {
|
|
162
|
+
res.meta.doc = doc = parseHtml(res, options);
|
|
163
|
+
}
|
|
164
|
+
// resources from inline css
|
|
165
|
+
const resources: Resource[] = [];
|
|
166
|
+
await processHtmlDoc(options, doc, res, pipeline, depth, resources, refUrl, savePath, submit);
|
|
133
167
|
if (resources.length) {
|
|
134
168
|
submit(resources);
|
|
135
169
|
}
|
package/src/options.ts
CHANGED
|
@@ -20,6 +20,7 @@ import type {CheerioOptionsInterface} from './types.js';
|
|
|
20
20
|
export interface StaticDownloadMeta
|
|
21
21
|
extends Record<string, string | number | boolean| void> {
|
|
22
22
|
detectIncompleteHtml?: '</html>' | '</body>' | string;
|
|
23
|
+
warnForNonHtml?: boolean;
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
/**
|
|
@@ -130,6 +131,7 @@ export interface StaticDownloadOptions {
|
|
|
130
131
|
/**
|
|
131
132
|
* Wait for this.init in method onIdle.
|
|
132
133
|
* See https://github.com/website-local/website-scrap-engine/issues/152
|
|
134
|
+
* @deprecated since 0.8.2
|
|
133
135
|
*/
|
|
134
136
|
waitForInitBeforeIdle?: boolean;
|
|
135
137
|
|