dusagu 发表于 2023-3-6 14:46

下载某精品班的m3u8加密视频思路

本帖最后由 dusagu 于 2023-3-6 14:53 编辑

之前在考RHCE,视频很好看,但是有观看有效期,一直想下某机构的精品班视频,网上看到了ali m3u8的加密下载器,就想着自己操作下载下来,以后被窝里偷摸看。以下是下载器开源地址:
https://github.com/lbbniu/aliyun-m3u8-downloader
在这里分享某机构精品班视频的下载思路。
主要还是用webdriver,其他啥也没用,丝毫没有技术含量,但是能用。网站结构改变,你代码就要变

简单明了就一步就是拿playauth和void
我也不写我的心路历程了,就简单明了给你们抛出来。
我是各种抓包结果发现某1就直接给获取上头这两东西的地址就写在网页的script里头。直接进课程地址”center/course/lesson/index?id=7065_577896“

直接在console里输入document.querySelector('body > script:nth-child(13)')
```
<script>​let timer = null;
let finish = false;
let count = 0;
let hasSign = 0;
//阿里云播放器
var aliplayparam = {
    CENTER_URL : '*****/center/',
    person_num: '***',
    username: '"***"',
    type: 'wejoboutcourse',
    lesson_id: '7065_577896',
    id: 'df338cfc9c4347459ad88e8195683be',
    sign: 'c0e5CFAOXgVVAAQCAQACAFFdAFMAAVcAwUAUAZVCQJfBQAFAFANBgEADABcDF1dDQNVDQEHDldTAxgHBl4FWQ1XAQUEBgw',
    userid:'******',
    timestr: new Date().getTime(),
    random: Math.random(),
    playerid: 2,
    reportSwitch: true,
    autoplay: true,
    playcallback: function () {
            if(timer) {
          clearInterval(timer);
      }
      if(count == 0 || !finish) {
          timer = setInterval(() => {
          $.ajax({
                  url: '/center/user/sign/auto-sign',
                  type: 'GET',
                  success: function (res) {
                      res = JSON.parse(res);
                      count++;
                      if(res.status == '0') {
                        finish = true;
                        clearInterval(timer);
                        if(res.msg != '') {
                              $("#ctoplayerbox1").append(`<div class='record-study'>${res.msg}</div>`);
                        }
                        setTimeout(() => {
                              $('.record-study').remove();
                        }, 3000);
                      }
                  }
            })
          }, 31000)
      }
          },
}
```

我们就要里头的lesson_id、id和sign,抓住来再给他合并一下就好了
/center/player/play/vod-play-auth?type=wejoboutcourse&lesson_id=$lesson_id&id=$id&sign=$sign&lesson_type=course&is_try=0

然后再访问一下合并完的地址 就回返回一个json
```
{"status":1,"msg":"\u52a0\u8f7d\u6210\u529f","data":{"info":{"isSeventyFive":0,"playAuth":"eyJTZWN1cml0eVRva2VuIjoiQ0FJU2h3TjFxNkZ0NUIyeWZTaklyNWJoQ1krRGw3MXIvL2F0ZW1EbnZsWXNYdUpvbWF2bG1qejJJSGxQZTNGaEFPb2V2L2svbVc5VTdmb2Nsck1xRXNRZkd4ZWRNWkVwdHNrSXJseitKcExGc3QySjZyOEpqc1Y4Mk54VmlFYXBzdlhKYXNEVkVmbDJFNVhFTWlJUi8wMGU2TC8rY2lyWXBUWEhWYlNDbFo5Z2FQa09Rd0M4ZGtBb0xkeEtKd3hrMnQxNFVtWFdPYVNDUHdMU2htUEJMVXhtdldnR2wyUnp1NHV5M3ZPZDVoZlpwMXI4eE80YXhlTDBQb1AyVjgxbExacGxlc3FwM0k0U2M3YmFnaFpVNGdscjhxbHg3c3BCNVN5Vmt0eVdHVWhKL3phTElvaXQ3TnBqZmlCMGVvUUFQb3BGcC9YNmp2QWF3UExVbTliWXhncGhCOFIrWGo3RFpZYXV4N0d6ZW9XVE84MCthS3p3TmxuVXo5bUxMZU9WaVE0L1ptOEJQdzQ0RUxoSWFGMElVRUo4RzJDQ2QvWDRvZ3VTT2xuOUVKTG9pdjltamNCSHFIeno1c2VQS2xTMVJMR1U3RDBWSUpkVWJUbHpia1ZKaFQyNEtQZFhMbHdSTEE4OFcraVBNYXgzYlFGRHI1M3ZzVGJiWHpaYjBtcHR1UG56ZDJ4MkJCT3NuMjJVR29BQmNZNE1NV1o1TVJnaEMzSFJaemlpZ01CcmNwdnA1dWpLbk82OURkdTQ0bkF3ZTR4WVNTUTl6d1NoNUc3cmxaUmZDMGd2cHF4UWZmaXFicmJGNlFvWGV3UnJrSHhpVE1ZNDlpMDZGVTl4VHRGTWU4STFIVzVvajA4ejZsRFE5eEdzTWRaUHd0NmpoMTRPOVVDWnRKQ2d5aUNrMy9wQ0V6aE5lajVPY0RDZDBiST0iLCJBdXRoSW5mbyI6IntcIkNJXCI6XCJSMGVPcnJxTkYzT3BXa3RsS01ZaUxhYVAvNVQ4anJpR01ZOGhXZkdlWnhUTlRoenpHS1hBUUROR3BqT3d2UmpwMjRBKy9jYTd3Q2lNZkZ1RlBKTXFSL2ZNNnFQNHVIRkxHaGZjUldWLzMwMD1cIixcIkNhbGxlclwiOlwiOWpvTnNwakVjNkV6b3V0dVhjemR3T3NmNDhFVXRSMWptbGdWQXI0cDkzST1cIixcIkV4cGlyZVRpbWVcIjpcIjIwMjMtMDMtMDZUMDY6NDE6MjlaXCIsXCJNZWRpYUlkXCI6XCJkZjMzOGNmYzljNDM0NzQ1OWFkODhlODMxOTU2ODNiZVwiLFwiUGxheURvbWFpblwiOlwidjMwLjUxY3RvLmNvbVwiLFwiU2lnbmF0dXJlXCI6XCJZYXR1Y2IvNjFVbVJ0STZPZExOTkxOZDlaQlE9XCJ9IiwiVmlkZW9NZXRhIjp7IlN0YXR1cyI6Ik5vcm1hbCIsIlZpZGVvSWQiOiJkZjMzOGNmYzljNDM0NzQ1OWFkODhlODMxOTU2ODNiZSIsIlRpdGxlIjoiMS0zIOiuoeeul+acuuS4pOWkp+e7hOS7tiIsIkNvdmVyVVJMIjoiaHR0cHM6Ly92MzAuNTFjdG8uY29tL2RmMzM4Y2ZjOWM0MzQ3NDU5YWQ4OGU4MzE5NTY4M2JlL3NuYXBzaG90cy8zNzg3NzI0ODk5NjQ0NjM3OTc0NGJiZDgxN2QyMzUzNS0wMDAwNS5qcGciLCJEdXJhdGlvbiI6MjE5LjY0OH0sIkFjY2Vzc0tleUlkIjoiU1RTLk5VVEI1N3piSkg0RnhGVlpWeVJtRHZuTngiLCJQbGF5RG9tYWluIjoidjMwLjUxY3RvLmNvbSIsIkFjY2Vzc0tleVNlY3JldCI6IjVUOENqTHlGZEdHWkJjUjhVU3FZWndzUndWMlJuN2JVdXdFaUN1R0EzZWVQIiwiUmVnaW9uIjoiY24tc2hhbmdoYWkiLCJDdXN0b21lcklkIjoxMTMyNjMxNDIxMDU3Nzc3fQ==","vodVideoId":"df338cfc9c4347459ad88e83195683be","videoId":"312681","lessonId":"577896","format":"m3u8","encryptType":1,"nexturl":"https:\/\/edu.51cto.com\/\/center\/course\/lesson\/index?id=7065_577895&type=wejob","prevurl":"https:\/\/edu.51cto.com\/\/center\/course\/lesson\/index?id=7065_577897&type=wejob","htime":150,"utime":1678083177,"reportLogUrl":"https:\/\/edu.51cto.com\/center\/player\/log\/time?type=wejoboutcourse"}}}
```
我们要的authplay 和void就在里头,直接用上头分享的工具直接下载就完事了,其他就写个脚本,直接给整个课表爬下来然后慢慢下就完事了。成品分享就再说了,写的是稀烂,就提供思路就差不多了。有authplay和void上头工具会直接合并成MP3有声音有画面,终于可以晚上被窝偷摸看了



dusagu 发表于 2023-3-7 16:24

trqr 发表于 2023-3-7 16:15
你试试浏览器下载个flash video downloader插件

没有屌用,还有一个直接下缓存的插件叫CoCoCut,这种做不到批量,一个个下很麻烦。写个爬虫视频地址全抓下来,在一起批量下载多舒服

trqr 发表于 2023-3-7 16:15

你试试浏览器下载个flash video downloader插件

蓝天伯爵 发表于 2023-3-6 20:11

哪家的培训视频呀,也想学一下Linux

lsy832 发表于 2023-3-6 20:16

学到了学到老

风吟逐流 发表于 2023-3-7 01:04

感谢大佬分项

chaozhi 发表于 2023-3-7 09:03

感谢分享,学习学习

zhaobk 发表于 2023-3-7 11:27

这个有机会试试

pantr0y 发表于 2023-3-7 15:11

感谢分享,不错

trqr 发表于 2023-3-7 16:26

dusagu 发表于 2023-3-7 16:24
没有屌用,还有一个直接下缓存的插件叫CoCoCut,这种做不到批量,一个个下很麻烦。写个爬虫视频地址全抓 ...

你这个能跳过收费项目么
页: [1] 2 3 4
查看完整版本: 下载某精品班的m3u8加密视频思路