吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2240|回复: 8
收起左侧

[Python 转载] 厚大法考视频抓取制作播放列表

  [复制链接]
创世2 发表于 2020-9-18 21:54
本帖最后由 创世2 于 2020-9-19 08:10 编辑

最近朋友法考看视频刷题想要倍速,奈何网站播放器最高就二倍速。想着找找插件,没找见,就自己写了个小脚本,配合potplayer播放器,实现倍速播放。


在地址栏找到相关id,填入脚本即可在桌面输出.m3u的播放列表文件,导入potplayer即可播放。
第二步.jpg
正好需要的朋友可以下方自取:
蓝奏云:https://wwa.lanzouj.com/iCTwYgqskdi

源码如下(写的很菜):
[Python] 纯文本查看 复制代码
import requests
import os

def get_classid(pc_id):
    headers = {
        'Host': 'www.houdask.com',
        'Connection': 'keep-alive',
        'Content-Length': '0',
        'Accept': 'application/json, text/plain, */*',
        'Origin': 'http://www.houdask.com',
        'User-Agent': 'Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Mobile Safari/537.36',
        'Referer': 'http://www.houdask.com/site/hd/resources/views/free/play.html?id=8145&type=1',
        'Accept-Encoding': 'gzip, deflate',
        'Accept-Language': 'zh-CN,zh;q=0.9',
    }

    params = (
        ('data', '{"courseType":"1","videoId":%s}' % pc_id),
    )

    response = requests.post('http://www.houdask.com/api/other/freeclassvideo/anon/pc/video/get/details', headers=headers, params=params)
    class_id = response.json()["data"]["classVideo"]["classId"]
    return class_id

def spide_adress(pc_id):
    name_list = []
    adress_list = []
    num = 0 
    headers = {
        'Host': 'www.houdask.com',
        'Connection': 'keep-alive',
        'Content-Length': '36',
        'Accept': 'application/json, text/javascript, */*; q=0.01',
        'Origin': 'http://www.houdask.com',
        'X-Requested-With': 'XMLHttpRequest',
        'User-Agent': 'Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Mobile Safari/537.36',
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
        'Referer': 'http://www.houdask.com/site/hd/resources/wap/play.html?classId=499',
        'Accept-Encoding': 'gzip, deflate',
        'Accept-Language': 'zh-CN,zh;q=0.9',
    }

    data = {
        'data': '{"classId":%s}'% get_classid(pc_id)
    }

    response = requests.post('http://www.houdask.com/api/other/freeclassvideo/anon/wap/video/get/details/list', headers=headers, data=data)
    # response.json() 获取响应的json数据 数据类型为字典
    response_json = response.json()
    video_list = response_json["data"]["videoList"]
    tictle = response_json["data"]["phaseName"]
    # print(type(response_json), type(video_list[1]["videoName"]), type(tictle))
    for every_dict in video_list:
        name = every_dict["videoName"]
        video_adress = every_dict["video"]
        name_list.append(name)
        adress_list.append(video_adress)
        num = num + 1 
    return name_list, adress_list, tictle, num


def write_file(name_list, adress_list, tictle, num):
    with open(r'{}\Desktop\{}-{}.m3u'.format(os.environ.get('USERPROFILE'), tictle, name_list[num-1]), 'w', encoding='utf-8')as f:
        f.write('#EXTM3U' + '\n')
        for index, name in enumerate(name_list):
            f.write('#EXTINF:0' + ',' + name + '\n')
            f.write(adress_list[index] + '\n') 

if __name__ == "__main__":
    pc_id = str(input('请输入视频Id:'))
    name_list, adress_list, tictle, num = spide_adress(pc_id)
    write_file(name_list, adress_list, tictle, num)
    print('播放列表文件创建成功')
    print('===============================')
    input('按任意键推出')

免费评分

参与人数 2吾爱币 +2 热心值 +1 收起 理由
xlose13720 + 1 罗老师要来了
细水流长 + 1 + 1 热心回复!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
细水流长 发表于 2020-9-18 21:58
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 创世2 发表于 2020-9-18 22:00
伯爵在哪里 发表于 2020-9-18 22:37
不想当咸鱼 发表于 2020-9-18 22:45
创世2 发表于 2020-9-18 22:00
我编辑一下,写的很菜

楼主你的cookie泄露出来了,会不会有影响啊
sun12345 发表于 2020-9-18 22:51
用着不错哦
吾爱破解223 发表于 2020-9-19 00:25
支持!!
慵懒丶L先森 发表于 2020-9-19 02:43
感谢分享,对法学类是有点兴趣,但是看到板砖一样厚的书,就头大了,也许换视频的方式会消除一点恐惧感吧。收藏从未停止,学习从未开始
 楼主| 创世2 发表于 2020-9-19 08:03
不想当咸鱼 发表于 2020-9-18 22:45
楼主你的cookie泄露出来了,会不会有影响啊

没登陆的 应该没什么问题
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-22 00:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表