Skip to content

配置

一些通用的配置可以通过在这三个地方设置:

  • 应用实例配置(全局)
  • 进阶配置(局部)
  • 详细目标配置(单独)

优先级

优先级为:详细目标配置 > 进阶配置 > 应用实例配置

以 maxRetry 重试次数为例:

js
import { createCrawl } from 'x-crawl'

// 应用实例配置
const crawlApp = createCrawl({ maxRetry: 3 })

// 进阶配置
crawlApp
  .crawlPage({
    targets: [
      'https://www.example.com/page-1',
      'https://www.example.com/page-2',
      // 详细目标配置
      { url: 'https://www.example.com/page-3', maxRetry: 8 },
      'https://www.example.com/page-4'
    ],
    maxRetry: 6
  })
  .then((res) => {})

crawlApp.crawlPage('https://www.example.com/page-5').then((res) => {})

在上面的示例中,应用实例配置进阶配置以及详细目标配置中都设置了重试次数,page3 将会采用自己的重试次数(8次),page1、 page2 以及 page4 将采用进阶配置的重试次数(6次),page5 会使用应用实例配置的重试次数(3次)。

取消复用配置选项

可在使用 null 取消上层配置。

以 maxRetry 重试次数为例:

js
import { createCrawl } from 'x-crawl'

const crawlApp = createCrawl({ maxRetry: 3 })

crawlApp
  .crawlPage({
    url: 'https://www.example.com/page-1',
    maxRetry: null
  })
  .then((res) => {})

crawlApp.crawlPage('https://www.example.com/page-2').then((res) => {})

crawlApp
  .crawlPage({
    targets: [
      'https://www.example.com/page-3',
      'https://www.example.com/page-4'
    ],
    maxRetry: null
  })
  .then((res) => {})

在上面的示例中,page-1、page3、page4 都取消了重试次数,page2 有 3 次重试次数。

基于 MIT 许可发布