nodejs使用http模块爬某糖图片

http爬某糖页面图片


//1.将模块导入
const https = require('https');
const cheerio = require("cheerio");
const fs = require('fs');
// 2.利用http模块的get请求
https.get("https://www.duitang.com/category/?cat=beauty",res=>{
    //定义一个空数组准备接收爬到的图片
    let arr = [];
    // 空字符串用来接收图片
    let str = "";
    // 准备html页面(不准备也行,准备是为了后续在这里面操作)
    let str1 = ``;
    // 获取数据,data事件
    res.setEncoding('utf8');
    res.on('data',chunk=>{
        str += chunk.toString()
    })
    // 现在str是整个页面html,调用end事件
    res.on("end",()=>{
    let $ = cheerio.load(str)
    // 图片遍历,放入容器
    $('img').each(function(i,ele){
        arr.push($(ele).attr("src"))
    })
    arr.forEach(ele => {
        str1 += `
            <div>
                <img src=${ele} alt="图片">
            </div>
                `
    });
    // 写入html格式
    str1 = `<!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <link rel="stylesheet" href="./index.css">
        <link rel="stylesheet" href=" ">
    </head>
    <body>
    ${str1}
    </body>
    <script type="text/javascript" src="" ></script>
    <script type="text/javascript">
    </script>
    </html>`
    //当前目录自动生成
    fs.writeFileSync("./a.html",str1)
}).on('error', (e) => {
    console.error(`出现错误: ${e.message}`);
  });
})
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值