• node 爬虫 --- bilibili 视频


    一:上一节说到用node 爬虫网络图片

    二:这一节 用node 爬 B 站 视频

      1. 用到的模块 ( https , ibili )

      2. 示例地址   ( https://www.bilibili.com/video/BV1FV411S7MV?p=3)

      3.代码

        

    const ibili = require('ibili');   // 下载B站 模块
    
    let https = require('https'); 
    
    const fs = require('fs')     //没有用到  忽略不计
    
    let url = 'https://api.bilibili.com/x/player/pagelist?bvid=BV1QE411s7hT&jsonp=jsonp';        // 网络请求,返回的json 数据
    
    let item_url = 'https://www.bilibili.com/video/BV1FV411S7MV?p='; // json item_url  每个url的地址路劲,参数 ?p = i 
    
    function video (url, item_url) {
        let app = https.request(url, res => {
            let chunks = [];
            res.on('data', chunk => {
                chunks.push(chunk)
            })
            res.on('end', () => {
                let html = Buffer.concat(chunks).toString('utf-8');   // 请求返回的json数据
                let arr = JSON.parse(html).data;             // 取到 res.data 存为数组
    
                for (let i = 10; i < arr.length; i++) {              // arr 遍历
                    promise(item_url + i, i)                         // 异步请求 
                }
                async function promise (itemUrl, i) {                 //  promise
                    let result = await ibili.downloadVideo({      // ibili.downloadVideo  查看官网 ( https://www.npmjs.com/package/ibili )
                        folder: 'list',
                        url: itemUrl,
                        filename: i
                    })
                    console.log(result)
                }
            })
        })
    
        app.end();
    }
    video(url, item_url)
    

      

  • 相关阅读:
    维克里拍卖 Vickrey auction
    弱占优策略--Weakly Dominant Strategy
    乱码电路(Garbled circuits)
    P和NP问题
    揭秘Facebook首个数据中心:全球15亿用户的账户信息都在这里
    数学符号“s.t.”的意义
    PKI系统深入介绍
    [转]公钥,私钥和数字签名这样最好理解
    Exif
    任我行 CRM 9.4
  • 原文地址:https://www.cnblogs.com/yuerdong/p/14362704.html
Copyright © 2020-2023  润新知