Node HTTP 爬虫
向目标网站发送请求,拿到html文档,当然是字符串的形式,然后用js或者cheerio插件在字符串html文档中需要的信息提取出来
- yarn add cheerio
仅为了演示功能这里只爬取部分信息:
/*
https://www.microsoftstore.com.cn/
yarn add cheerio 这个插件用于解析字符串里面的html
思路:
发送请求到指定网站,拿到网站响应的数据然后开始解析,封装成数组
*/
const https = require('https');
const $ = require('cheerio');
const option = {
protocol: "https:",
hostname: "www.microsoftstore.com.cn",
port: 443,
method: "GET"
}
https.request(option, res => {
var rawData = "";
res.on("data", chunk => {
rawData += chunk;
});
res.on("end", () => {
// console.log(rawData);
filterData(rawData);
});
}).end();
function filterData(data){
var result = [];
var items = $(data).find('.listContainerInner li');
$(items).each((index,item)=>{
let $item = $(item);
var param = {
url:$item.find('img').attr('data-src'),
name:$item.find('.name h4').text().replace(/\n|\t/g,""),
price:$item.find('.price strong').text()
}
result.push(param);
});
console.log(result);
return result;
}
效果: