@@ -39,7 +39,7 @@ import {
39
39
LoaderFileRequestConfig ,
40
40
CrawlFileConfigObject
41
41
} from './types/api'
42
- import { LoaderXCrawlBaseConfig } from './types'
42
+ import { LoaderXCrawlConfig } from './types'
43
43
44
44
async function crawlRequestSingle (
45
45
controllerConfig : ControllerConfig <
@@ -98,7 +98,7 @@ function transformRequestConfig(config: any) {
98
98
}
99
99
100
100
function loaderCommonConfig (
101
- baseConfig : LoaderXCrawlBaseConfig ,
101
+ xCrawlConfig : LoaderXCrawlConfig ,
102
102
requestObjects : ( PageRequestConfig | DataRequestConfig | FileRequestConfig ) [ ] ,
103
103
loaderConfig :
104
104
| LoaderCrawlPageConfig
@@ -110,37 +110,37 @@ function loaderCommonConfig(
110
110
let { url, timeout, proxy, maxRetry, priority } = requestConfig
111
111
112
112
// 1.1.baseUrl
113
- if ( ! isUndefined ( baseConfig . baseUrl ) ) {
114
- url = baseConfig . baseUrl + url
113
+ if ( ! isUndefined ( xCrawlConfig . baseUrl ) ) {
114
+ url = xCrawlConfig . baseUrl + url
115
115
}
116
116
117
117
// 1.2.timeout
118
- // requestConfig > loaderConfig > baseConfig
118
+ // requestConfig > loaderConfig > xCrawlConfig
119
119
if ( isUndefined ( timeout ) ) {
120
120
if ( ! isUndefined ( loaderConfig . timeout ) ) {
121
121
timeout = loaderConfig . timeout
122
122
} else {
123
- timeout = baseConfig . timeout
123
+ timeout = xCrawlConfig . timeout
124
124
}
125
125
}
126
126
127
127
// 1.3.porxy
128
- // requestConfig > loaderConfig > baseConfig
128
+ // requestConfig > loaderConfig > xCrawlConfig
129
129
if ( isUndefined ( proxy ) ) {
130
130
if ( ! isUndefined ( loaderConfig . proxy ) ) {
131
131
proxy = loaderConfig . proxy
132
- } else if ( ! isUndefined ( baseConfig . proxy ) ) {
133
- proxy = baseConfig . proxy
132
+ } else if ( ! isUndefined ( xCrawlConfig . proxy ) ) {
133
+ proxy = xCrawlConfig . proxy
134
134
}
135
135
}
136
136
137
137
// 1.4.maxRetry
138
- // requestConfig > loaderConfig > baseConfig
138
+ // requestConfig > loaderConfig > xCrawlConfig
139
139
if ( isUndefined ( maxRetry ) ) {
140
140
if ( ! isUndefined ( loaderConfig . maxRetry ) ) {
141
141
maxRetry = loaderConfig . maxRetry
142
142
} else {
143
- maxRetry = baseConfig . maxRetry
143
+ maxRetry = xCrawlConfig . maxRetry
144
144
}
145
145
}
146
146
@@ -155,14 +155,14 @@ function loaderCommonConfig(
155
155
// 2.intervalTime
156
156
if (
157
157
isUndefined ( loaderConfig . intervalTime ) &&
158
- ! isUndefined ( baseConfig . intervalTime )
158
+ ! isUndefined ( xCrawlConfig . intervalTime )
159
159
) {
160
- loaderConfig . intervalTime = baseConfig . intervalTime
160
+ loaderConfig . intervalTime = xCrawlConfig . intervalTime
161
161
}
162
162
}
163
163
164
164
function loaderPageConfig (
165
- baseConfig : LoaderXCrawlBaseConfig ,
165
+ xCrawlConfig : LoaderXCrawlConfig ,
166
166
rawConfig : CrawlPageConfig
167
167
) : LoaderCrawlPageConfig {
168
168
const loaderConfig : LoaderCrawlPageConfig = { requestConfigs : [ ] }
@@ -192,7 +192,7 @@ function loaderPageConfig(
192
192
}
193
193
194
194
// 装载公共配置到 loaderConfig
195
- loaderCommonConfig ( baseConfig , requestObjects , loaderConfig )
195
+ loaderCommonConfig ( xCrawlConfig , requestObjects , loaderConfig )
196
196
197
197
// 装载单独的配置
198
198
if ( ! isUndefined ( loaderConfig . cookies ) ) {
@@ -211,7 +211,7 @@ function loaderPageConfig(
211
211
}
212
212
213
213
function loaderDataConfig (
214
- baseConfig : LoaderXCrawlBaseConfig ,
214
+ xCrawlConfig : LoaderXCrawlConfig ,
215
215
rawConfig : CrawlDataConfig
216
216
) : LoaderCrawlDataConfig {
217
217
const loaderConfig : LoaderCrawlDataConfig = { requestConfigs : [ ] }
@@ -240,13 +240,13 @@ function loaderDataConfig(
240
240
}
241
241
242
242
// 装载公共配置到 loaderConfig
243
- loaderCommonConfig ( baseConfig , requestObjects , loaderConfig )
243
+ loaderCommonConfig ( xCrawlConfig , requestObjects , loaderConfig )
244
244
245
245
return loaderConfig
246
246
}
247
247
248
248
function loaderFileConfig (
249
- baseConfig : LoaderXCrawlBaseConfig ,
249
+ xCrawlConfig : LoaderXCrawlConfig ,
250
250
rawConfig : CrawlFileConfig
251
251
) : LoaderCrawlFileConfig {
252
252
const loaderConfig : LoaderCrawlFileConfig = { requestConfigs : [ ] }
@@ -280,7 +280,7 @@ function loaderFileConfig(
280
280
}
281
281
282
282
// 装载公共配置到 loaderConfig
283
- loaderCommonConfig ( baseConfig , requestObjects , loaderConfig )
283
+ loaderCommonConfig ( xCrawlConfig , requestObjects , loaderConfig )
284
284
285
285
// 装载单独的配置
286
286
if (
@@ -307,7 +307,7 @@ function loaderFileConfig(
307
307
return loaderConfig
308
308
}
309
309
310
- export function createCrawlPage ( baseConfig : LoaderXCrawlBaseConfig ) {
310
+ export function createCrawlPage ( xCrawlConfig : LoaderXCrawlConfig ) {
311
311
let browser : Browser | null = null
312
312
let createBrowserPending : Promise < void > | null = null
313
313
let haveCreateBrowser = false
@@ -346,9 +346,11 @@ export function createCrawlPage(baseConfig: LoaderXCrawlBaseConfig) {
346
346
// 创建浏览器
347
347
if ( ! haveCreateBrowser ) {
348
348
haveCreateBrowser = true
349
- createBrowserPending = puppeteer . launch ( ) . then ( ( res ) => {
350
- browser = res
351
- } )
349
+ createBrowserPending = puppeteer
350
+ . launch ( xCrawlConfig . crawlPage ?. launchBrowser )
351
+ . then ( ( res ) => {
352
+ browser = res
353
+ } )
352
354
}
353
355
354
356
// 等待浏览器创建完毕
@@ -358,15 +360,15 @@ export function createCrawlPage(baseConfig: LoaderXCrawlBaseConfig) {
358
360
if ( createBrowserPending ) createBrowserPending = null
359
361
}
360
362
361
- // 合并 baseConfig 配置
363
+ // 合并 xCrawlConfig 配置
362
364
const { requestConfigs, intervalTime } = loaderPageConfig (
363
- baseConfig ,
365
+ xCrawlConfig ,
364
366
config
365
367
)
366
368
367
369
const controllerRes = await controller (
368
370
'page' ,
369
- baseConfig . mode ,
371
+ xCrawlConfig . mode ,
370
372
requestConfigs ,
371
373
intervalTime ,
372
374
cId ,
@@ -482,7 +484,7 @@ export function createCrawlPage(baseConfig: LoaderXCrawlBaseConfig) {
482
484
return crawlPage
483
485
}
484
486
485
- export function createCrawlData ( baseConfig : LoaderXCrawlBaseConfig ) {
487
+ export function createCrawlData ( xCrawlConfig : LoaderXCrawlConfig ) {
486
488
function crawlData < T = any > (
487
489
config : string ,
488
490
callback ?: ( res : CrawlDataSingleRes < T > ) => void
@@ -508,13 +510,13 @@ export function createCrawlData(baseConfig: LoaderXCrawlBaseConfig) {
508
510
callback ?: ( res : CrawlDataSingleRes < T > ) => void
509
511
) : Promise < CrawlDataSingleRes < T > | CrawlDataSingleRes < T > [ ] > {
510
512
const { requestConfigs, intervalTime } = loaderDataConfig (
511
- baseConfig ,
513
+ xCrawlConfig ,
512
514
config
513
515
)
514
516
515
517
const controllerRes = await controller (
516
518
'data' ,
517
- baseConfig . mode ,
519
+ xCrawlConfig . mode ,
518
520
requestConfigs ,
519
521
intervalTime ,
520
522
undefined ,
@@ -570,7 +572,7 @@ export function createCrawlData(baseConfig: LoaderXCrawlBaseConfig) {
570
572
return crawlData
571
573
}
572
574
573
- export function createCrawlFile ( baseConfig : LoaderXCrawlBaseConfig ) {
575
+ export function createCrawlFile ( xCrawlConfig : LoaderXCrawlConfig ) {
574
576
function crawlFile (
575
577
config : FileRequestConfig ,
576
578
callback ?: ( res : CrawlFileSingleRes ) => void
@@ -591,13 +593,13 @@ export function createCrawlFile(baseConfig: LoaderXCrawlBaseConfig) {
591
593
callback ?: ( res : CrawlFileSingleRes ) => void
592
594
) : Promise < CrawlFileSingleRes | CrawlFileSingleRes [ ] > {
593
595
const { requestConfigs, intervalTime, fileConfig } = loaderFileConfig (
594
- baseConfig ,
596
+ xCrawlConfig ,
595
597
config
596
598
)
597
599
598
600
const controllerRes = await controller (
599
601
'file' ,
600
- baseConfig . mode ,
602
+ xCrawlConfig . mode ,
601
603
requestConfigs ,
602
604
intervalTime ,
603
605
undefined ,
0 commit comments