最近想把有道精品课快过期的课程视频弄下来,刚开始想着录屏,但是那个太麻烦了,长一点的视频要一直在那里录制,影响其他工作,刚开始想着获取视频连接,看能不能下载,结果发开发现403,应该是加密处理了,不让直接下载

头疼了一会儿,然后想着用迅雷下载一下试试看,结果真的能下载(后面发现,下载多了可能就下不了,但是开机重启又可以下载,没搞懂什么问题)

这个我目前只测试了购买的课程(在有效期内),获取所有视频的json文件,存到了excel里面,直接在json文件里面也可以下载,但是不方便直接看。视频链接是原画的链接,标清和高清的会在后面加上视频的大小;


json文件效果如图,


excel文件如图,内容按分类存进了不同的sheet,

我这里改了一下sheet的名称,因为名字里面不能含中英文的:


代码如下:

const fs = require('fs');
const axios = require('axios');
const xlsx = require('node-xlsx');function writeXls(arr) {let buffer = xlsx.build(arr);fs.writeFileSync(config.xlsxPath, buffer, {"flag": "w"});console.log(`${config.xlsxPath} write success`);
}/*** 获取请求数据写入文件* @param config*/
function saveDataToFile(config) {// 设置请求头axios.get(config.url, {headers: {"Referer": "http://live.youdao.com/live/index.html?courseId=9219&lesson=662230&liveId=fe12574e347f&groupId=4102","User-agent": "看不到看不到~","Cookie": "自己账号的cookie"}}).then((res) => {let json = JSON.stringify(res.data);// console.log(JSON.stringify(json));fs.writeFileSync(config.filePath, json);console.log('write success!');}).catch(function (err) {console.log(err);});
}function getDataFromFile(config) {// 读取文件fs.readFile(config.filePath, {encoding: 'utf-8', flag: 'r'}, (err, data) => {if (err) {throw err;}let arr = [];JSON.parse(data).data.forEach(function (item, index) {const headers = ['标题', '视频链接', '总时长', '大小'];let datas = [headers];item.list.forEach(function (it) {let url, size;if (it.video) {url = it.video.downloadUrl;size = Math.floor(it.video.size / (1024 * 1024)) + 'm';} else {url = '无';size = 0;}datas.push([it.title, url, it.subTitle, size]);});arr.push({name: item.title.replace(':', '-'),data: datas});});writeXls(arr);});
}let config = {// url打开视频页面,F12,查看network->xhr,可以看到获取所有课程的接口,请求的时候需要设置请求头url: 'https://ke.youdao.com/course/live/lessons.json?courseId=9219&r=1543288776707',filePath: 'data.json',xlsxPath: 'data.xlsx'
};
saveDataToFile(config);
// 文件写入有点慢,就延迟了3s再转成excel的
setTimeout(() => {getDataFromFile(config);
}, 3000);

Node抓取有道精品课视频相关推荐

  1. 资深程序员教你,用python入门的知识抓取抖音短视频,太厉害了

    抖音短视频可以说是当下最流行的自媒体平台,而python编程同样也是目前最流行的编程语言. 今天,就让一位大厂的资深程序员,用最简单的方式,使用python抓取抖音短视频. 到时候我会把所有的源代码都 ...

  2. node抓取58同城信息_如何使用标准库和Node.js轻松抓取网站以获取信息

    node抓取58同城信息 网络抓取工具是一种工具,可让我们选择网站的非结构化数据并将其转换为结构化数据库. 那么,网络刮板将在哪里派上用场呢? 我列出了我最喜欢的用例,以使您对启动自己的应用感到兴奋! ...

  3. C#抓取海康录像机视频方法

    说明 通过后台代码抓取海康录像机视频的方法,需要将海康程序中自带的几个dll文件放在程序的根目录下面 dll下载地址https://download.csdn.net/download/chenwei ...

  4. python 抓取xigua无水印视频

    这两天刷抖音和xigua比较多, 突然想要有一些视频搬运工是怎么将抖音和xigua的视频水印去除的呢, 特地的去研究了一下 假如我们抓取的是这个视频为例: https://www.ixigua.com ...

  5. 【第4篇】Python爬虫实战-抓取B站弹幕视频

    目录 1.获取视频cid参数 2.程序源代码 3.程序运行结果 4.总结 1.获取视频cid参数 首先我们打开一个有弹幕的B站视频,比如:<我好像在哪见过你>人们把难言的爱都埋入土壤里_哔 ...

  6. node抓取王者荣耀英雄资料库

    用node写的爬虫,抓取王者荣耀英雄资料库,只是为了学习,侵删! 主要包括(基本上相关的都抓取): 召唤师技能 铭文 装备 英雄 皮肤 英雄故事 英雄技能 推荐铭文 推荐装备 技能加点 没有搞懂如何动 ...

  7. matlab弹幕抓取,B站某视频弹幕抓取

    爬虫这东西很实用,意义不下于你学会做PPT和Excel.真正掌握方法论很难,需要时间和不断的实践.但掌握一门小工具,投入和产出比在我看来是比较惊人的. 爬虫其实没有这么难.最近在三节课上上了一堂陈大欣 ...

  8. 用php实现抓取电影网站的视频下载地址

    用php写了一个爬虫在视频网站上进行视频下载地址的抓取,半个多小时,大约抓取了3万多条ftp地址数据,效果还是可以的.这里总结一下抓取过程中遇到的问题 1:通过访问浏览器来执行php脚本这种访问方式其 ...

  9. 用php实现一个简单的爬虫,抓取电影网站的视频下载地址

    昨天没什么事,先看一下电影,就用php写了一个爬虫在视频网站上进行视频下载地址的抓取,这里总结一下抓取过程中遇到的问题 1:通过访问浏览器来执行php脚本这种访问方式其实并不适合用来爬网页,因为要受到 ...

最新文章

  1. 502与504错误分析
  2. Python--matplotlib 绘图可视化练手--折线图/条形图
  3. 里约奥运会开幕了,一起观看“VR直播”约么?
  4. python写元旦快乐_用Python在00:00给微信好友发元旦祝福语
  5. 天河二号超级计算机拿来玩游戏,“天河二号超级计算机”是我国独立自主研制的超级计算机系统,...
  6. DHCP 产生僵尸进程【原创】
  7. Ueditor和CKeditor wysihtml5 编辑器的使用与配置
  8. 关于浏览器Ajax请求Type为Request Payload而不是Form Data
  9. 【激活函数】深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点...
  10. Android Framework 全面分析 BootAnimation
  11. 【acl-访问控制列表】
  12. Unity导出转换微信小游戏
  13. 宁夏诗词学会红寺堡采风专辑
  14. 微信支付计算机,微信电脑版怎么支付?怎么开通微信支付?
  15. OA系统权限管理设计方案
  16. python作排产计划_排产计划表
  17. php 12306查询结果,使用php怎么编写一个12306余票查询功能
  18. nltk英文词性分析
  19. RestTemplate 超时值
  20. 图神经网络(一):综述

热门文章

  1. 美通企业日报 | 2019薪酬增长再放缓;大众将为卡塔尔世界杯提供自动驾驶车辆...
  2. 关于 GK盘,扩盘在storage和os两侧的联系
  3. java 月份缩写_Java常用日期、时间格式化转换符
  4. 美团外卖Flutter动态化实践
  5. 【深度学习基础】02梯度下降算法改进:SGD、Momentum、NAG、RMSProp、Adam等
  6. c语言程序 蟠桃记,蟠桃记
  7. Web应用优化 - 优化切页模式
  8. Android 语音播报之项目实战
  9. 23230118英语学习
  10. SDN初体验·理论篇(零):SDN与传统网络不得不说的那些事