1、利用nodeJs中的 http 或者 https 模块利用爬虫 扒一个网站。(请求网站 将网站数据保存到本地)
const http = require('http') 或者const http = require('https') 根据情况使用https或者
http
let url = 'https://www.xxxxx.com'
const fs = require('fs');
http.get( url , (res) => {
let rawData = '';
const{statusCode}=res; //判断状态 es6解构赋值 res 对象中含有statusCode参数。
const contentType=res.headers['content-type']; // 获取类型
let err = null;
if(statusCode!==200){
error=newError('请求状态失败');}
else if(!/^application\/json/.test(contentType)){
error=newError('无效的 content-type.`);
}
if(error){
console.error(error.message);// 消费响应数据来释放内存。res.resume();return;
}
res.on('data',(chunk) =>{
//数据分段 下载 只要接收到数据 就会触发data事件 ,chunk 是每次接收到的数据片段。但是需要解码。
console.log(chunk.toString('utf8'))
//因为是数据片段 所以需要拼接
rawData += chunk.toString('utf8');
//将请求的数据保存到本地
fs.writeFileSync('../xxx.html',rawData)
})
res.on('end',() =>{
//数据传输完毕 执行该方法。
})
} ).on('error',(err) =>{
console.log('请求失败!')
});
这样的话 就可以爬取网站内容,然后利用qs 将文件保存到本地。