Node 爬虫 爬取微软官方商城

 

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;
}

效果:

posted @   IslandZzzz  阅读(407)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示