zoukankan      html  css  js  c++  java
  • 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)
    

      

  • 相关阅读:
    朴素贝叶斯算法
    生成模型与判别模型
    决策树 ID3,C4.5 CART
    KNN 分类程序
    php的空间命名
    模式设计六大原则
    javascript 的设计模式(更新中)
    typescript 学习笔记
    PHP 关于smarty模板引擎的使用
    简易封装PDO的操作类
  • 原文地址:https://www.cnblogs.com/yuerdong/p/14362704.html
Copyright © 2011-2022 走看看