NodeJS簡單爬蟲-資源下載

1、需求
扒取當前網頁的請求資源,包括:js、css、
2、環境及使用工具
NodeJS     puppeteer    Gulp
3、環境的搭建
3-1、安裝nodejs
爲了支持async和await,我們需要安裝較高版本的node,具體安裝過程查看官網:(https://nodejs.org/zh-cn/download/)
3-2、安裝puppeteer
MAC用戶建議使用yarn來安裝,安裝方式如下:[在安裝的過程中,會默認安裝chromium,如果安裝不成功,可以跳過該安裝過程,自己手動安裝chromium]
  yarn add puppeteer
  //或者
  npm install puppeteer
3-3、安裝gulp
需要全局安裝gulp
npm install --save-dev -g gulp
4、爬蟲代碼
4-1、請求資源的獲取
const links = [];
const browser = await puppeteer.launch();
const page = await browser.newPage();

await page.goto(url);//打開網頁

const allRequests = new Map();

await page.on('request', req => {
    //獲取請求資源
    links.push(req._url);
    allRequests.set(req.url(), req);
});

await page.reload({waitUntil: 'networkidle0'})
await browser.close();
4-2、資源的下載
const download = require('gulp-downloader');
gulp.task('download', function () {
    return new Promise(function (resolve, reject) {
        download(url).pipe(gulp.dest('./dist'));//將請求到的資源下載到指定的目錄下
    })
})
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章