爬取文件 
通过 crawlFile() 爬取文件数据。
js
import { createCrawl } from 'x-crawl'
const crawlApp = createCrawl({ intervalTime: { max: 3000, min: 1000 } })
crawlApp
  .crawlFile({
    targets: [
      'https://www.example.com/file-1',
      'https://www.example.com/file-2'
    ],
    storeDirs: './upload' // 存放文件夹
  })
  .then((res) => {})生命周期 
crawlFile API 拥有的声明周期函数:
- onCrawlItemComplete: 当每个爬取目标完成后会回调 
- onBeforeSaveItemFile: 会在保存文件前回调 
onCrawlItemComplete 
在 onCrawlItemComplete 函数中你可以提前拿到每次爬取目标的结果。
onBeforeSaveItemFile 
在 onBeforeSaveItemFile 函数中你可以拿到 Buffer 类型的文件,你可以对该 Buffer 进行处理,然后返回一个 Buffer 或者一个返回值是 Buffer 的 Promise ,x-crawl 会将返回的 Buffer 替换掉拿到的 Buffer 存储到文件中。
示例 
调整图片大小
使用 sharp 库对需要爬取的图片进行调整大小操作:
js
import { createCrawl } from 'x-crawl'
import sharp from 'sharp'
const crawlApp = createCrawl()
crawlApp
  .crawlFile({
    targets: [
      'https://www.example.com/file-1.jpg',
      'https://www.example.com/file-2.jpg'
    ],
    onBeforeSaveItemFile: (info) => sharp(info.data).resize(200).toBuffer()
  })
  .then((res) => {
    res.forEach((item) => {
      console.log(item.data?.data.isSuccess)
    })
  })