1 Star 0 Fork 1

赵昕磊/website-dump

forked from anonymous1132/website-dump 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
robot.js 1.64 KB
一键复制 编辑 原始数据 按行查看 历史
caojin 提交于 2021-04-01 23:06 . rebase
const puppeteer = require('puppeteer');
const fs = require("fs")
const mkdirp = require("mkdirp")
const outDir = "./dist/meichuan"
const url = "http://www.dlmckj.top/";
(async () => {
const browser = await puppeteer.launch()
try {
const page = await browser.newPage()
page.setDefaultTimeout(0)
//处理弹窗,防止弹出导致网页加载中断
page.on('dialog', async dialog => {
console.log(dialog.message());
await dialog.dismiss();
});
page.on('response', function (response) {
const url = response.url();
const status = response.status()
//DEBUG && console.log('Get:', status, url);
//状态码判断
if (status !== 200) {
console.log('Get Warning:', status, url);
if (status >= 400) return;
}
if (url.split("://").length < 2) {
console.log('Save Error:', url);
return;
}
let filename = url.split("://")[1].split("?")[0];
if(filename[filename.length-1]==='/')filename+='(index)'
const dir = filename.substr(0, filename.lastIndexOf('/'));
response.text().then((body) => {
mkdirp(outDir + '/' + dir).then(res =>
fs.writeFile(outDir + '/' + filename, body, function (e) {
})
)
})
});
console.log('页面开始加载');
await page.goto(url, { waitUntil: 'networkidle2' });
} catch (e) {
console.log(e)
} finally {
await browser.close()
}
})();
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
NodeJS
1
https://gitee.com/zxl320826/website-dump.git
git@gitee.com:zxl320826/website-dump.git
zxl320826
website-dump
website-dump
master

搜索帮助