小鹅通视频下载

小鹅通视频下载

注:内容只做分享,可以用来将自己购买的付费课程下载到本地,不得用作他用,如有侵权,联系删除!

课程列表页

登录后,进入课程列表页,如图:
在这里插入图片描述
课程列表页接口:
https://app5vfffdhz8371.pc.xiaoe-tech.com/xe.course.business.column.items.get/2.0.0
请求接口返回的单个json如下:

{
        "app_id": "app5vfffdhz8371",
        "resource_id": "v_6581a404e4b04c1009401d50",
        "resource_type": 3,
        "resource_title": "1、24年--考试介绍、学习说明",
        "is_try": 0,
        "part_try_length": 0,
        "can_view": 0,
        "start_at": "2023.12.19",
        "interval_start_at": "",
        "view_count": 21553,
        "jump_url": "/content_page/eyJ0eXBlIjoyLCJyZXNvdXJjZV90eXBlIjozLCJyZXNvdXJjZV9pZCI6InZfNjU4MWE0MDRlNGIwNGMxMDA5NDAxZDUwIiwicHJvZHVjdF9pZCI6InBfNWZiY2M0NmJlNGIwNGRiN2MwOTBhNDRkIiwiYXBwX2lkIjoiYXBwNXZmZmZkaHo4MzcxIn0",
        "img_url_compressed": "http://wechatapppro-1252524126.file.myqcloud.com/app5vfffdhz8371/image/compress/414320361khvvun810fzglrpyhje.jpg",
        "img_url": "http://wechatapppro-1252524126.file.myqcloud.com/app5vfffdhz8371/image/khvvun810fzglrpyhje.jpg",
        "learn_progress": 98
    }

通过课程列表页接口获取resource_id和title,以及视频个数,计算得到页码,129个视频7页。
其中jump_url字段经过了base64编码,通过 在线base64 解码还原如下:
{“type”: 2, “resource_type”: 3, “resource_id”: “v_6581a404e4b04c1009401d50”,
“product_id”: “p_5fbcc46be4b04db7c090a44d”, “app_id”: “app5vfffdhz8371”}

通过如下代码,可以保存一份课程列表到本地txt文件

def get_course_list(page=1):
    "获取课程目录列表"
    url = 'https://app5vfffdhz8371.pc.xiaoe-tech.com/xe.course.business.column.items.get/2.0.0'
    json_data = {
        'column_id': 'p_5fbcc46be4b04db7c090a44d',
        'page_index': page, 
        'page_size': 20,
        'content_app_id': None,
        'sort': 'desc'
    }
    response = requests.post(
        url=url,
        cookies=cookies,
        headers=headers,
        json=json_data,
    )
    res_list = response.json().get("data").get("list")
    dic = {}
    for info in res_list:
        title = info.get("resource_title")  # 1、24年--考试介绍、学习说明
        resource_id = info.get("resource_id")  # v_6582f557e4b064a8ccb1ef10
        print(title, resource_id)
        dic.update({resource_id: title})
        with open("course_list.txt", "a") as f:
            f.write(title + " " + resource_id)
            f.write("\n")
    return dic

跳转到视频首页

点击课程列表中的某节课程,进入会请求一个detail_info接口,
https://app5vfffdhz8371.pc.xiaoe-tech.com/xe.course.business.video.detail_info.get/2.0.0,这个接口包含video_url的信息,但是被编码过了,不熟悉这段字符串的就会被卡住:
在这里插入图片描述
解码代码示例:

import base64,json
video_urls ="W$siZGVmaW5pdGlvbl9uYW@lIjoiXHU5YWQ%XHU#ZTA@IiwiZGVmaW5pdGlvbl9wIjoiNzIwUCIsInVybCI6Imh0dHBzOlwvXC9jLXZvZC5ody@jZG%ueGlhb#Vrbm9$LmNvbVwvOTc#NGE$YTV#b#R0cmFuc#d6cDEyNTI@MjQxMjZcLzI$Zjg#OThlMzI$MDgzNTAxNDEwODIyMDEyOFwvZHJtXC9#LmY0MjEyMjAubTN@OD9zaWduPWUzZjhlNGIxMTczYmI0MmM%ZDdmOTVmYTZmODViYmYxJnQ9NjYxMzJjZGEmdXM9aWJreUFISFNkRSIsImlzX$N@cHBvcnQiOmZhbHNlLCJleHQiOnsiaG9zdCI6Imh0dHBzOlwvXC9jLXZvZC5ody@jZG%ueGlhb#Vrbm9$LmNvbSIsInBhdGgiOiI5NzY0YTdhNXZvZHRyYW5zZ$pwMTI@MjUyNDEyNlwvMjdmODY5OGUzMjcwODM@MDE0MTA%MjIwMTI%XC9kcm0iLCJwYXJhbSI6InNpZ#%9ZTNmOGU0YjExNzNiYjQyYzhkN#Y5NWZhNmY%NWJiZjEmdD0#NjEzMmNkYSZ@cz@pYmt5QUhIU#RFIn@9XQ==__ba"
def video_url_decrypt(video_urls):
    """视频地址json解密"""
    s = video_urls.replace('@', '1').replace('#', '2').replace('$', '3').replace('%', '4').replace('__ba', '')
    json_data = base64.b64decode(s.encode('utf-8'))[1:-1]
    response = json.loads(json_data)
    print(response)
    return response
video_url_decrypt(video_urls)

# 解密后的结果:
{'definition_name': '高清', 'definition_p': '720P', 'url': 'https://c-vod.hw-cdn.xiaoeknow.com/9764a7a5vodtransgzp1252524126/27f8698e3270835014108220128/drm/v.f421220.m3u8?sign=e3f8e4b1173bb42d7f95fa6f85bbf1&t=66132cda&us=ibkyAHHSdE', 'is_support': False, 'ext': {'host': 'https://c-vod.hw-cdn.xiaoeknow.com', 'path': '9764a7a5vodtransgzp1252524126/27f8698e3270835014108220128/drm', 'param': 'sign=e3f8e4b1173bb42c8d7f95fa6f85bbf1&t=66132cda&us=ibkyAHHSdE'}}

暂时发现了两种m3u8的视频url链接:
一种是:https://c-vod-hw-k.xiaoeknow.com/asset/c2c93d7741e0116ff2a2db6db677bda9/17c89c7e64670550b186329a91596a0a.m3u8?;
另一种是:
https://c-vod.hw-cdn.xiaoeknow.com/9764a7a5vodtransgzp1252524126/b4c69cde3270835014888025333/drm/v.f421220.m3u8?;
具体解码示例如下:

{
    "code": 0,
    "msg": "success",
    "data": {
        "config_data": {
            "1": {
                "config_name": "",
                "is_open": 1,
                "config_type": 1
            },
            "2": {
                "config_name": "防拖拽",
                "is_open": 0,
                "config_type": 2
            }
        },
        "video_urls": "W$siZGVmaW5pdGlvbl9uYW@lIjoiXHU5YWQ%XHU#ZTA@IiwiZGVmaW5pdGlvbl9wIjoiNzIwUCIsInVybCI6Imh0dHBzOlwvXC9jLXZvZC@ody@rLnhpYW9la#5vdy5jb#@cL#Fzc#V0XC9jMmM5M#Q$NzQxZTAxMTZmZjJhMmRiNmRiNjc$YmRhOVwvMTdjODljN#U#NDY$MDU@MGIxODYzMjlhOTE@OTZhMGEubTN@OD9zaWduPWRlMTMzNzAzNzUzYjdkODc#YWQ%YjBjNTU5ZWEwNzQxJnQ9NjYxMmVkOTgmdXM9SFd5QkpWcFdnUyIsImlzX$N@cHBvcnQiOmZhbHNlLCJleHQiOnsiaG9zdCI6Imh0dHBzOlwvXC9jLXZvZC@ody@rLnhpYW9la#5vdy5jb#0iLCJwYXRoIjoiYXNzZXRcL#MyYzkzZDc$NDFlMDExNmZmMmEyZGI#ZGI#NzdiZGE5IiwicGFyYW0iOiJzaWduPWRlMTMzNzAzNzUzYjdkODc#YWQ%YjBjNTU5ZWEwNzQxJnQ9NjYxMmVkOTgmdXM9SFd5QkpWcFdnUyJ9fV0=__ba",
        "only_h5_play": 0,
        "jump_h5_url": "",
        "jump_mini_program_url": "https://wechatapppro-1252524126.cos.ap-shanghai.myqcloud.com/app5vfffdhz8371_v_64ca6246e4b03e4b54e1d596_qr_code.jpg",
        "payment_url": "",
        "video_player_type": 1,
        "is_auto_play": 0,
        "is_try": 0,
        "product_try_info": {},
        "user_last_process_time": 0,
        "user_last_process": 0,
        "video_info": {
            "app_id": "app5vfffdhz8371",
            "resource_id": "v_64ca6246e4b03e4b54e1d596",
            "video_length": 3761,
            "file_name": "14、10大管理基本介绍.mp4",
            "video_audio_url": "https://c-vod-hw-k.xiaoeknow.com/asset/ca16d93e4a5a5ec769acf922ab34f02e/e6ae2de5ae8699e88a6864b2924624a3.mp3?sign=dd72602d02c0942b4af8da413794ca9a&t=6612ed98&us=KQHoQUniaw",
            "patch_img_url": "https://c-vod-hw-k.xiaoeknow.com/asset/dc11aee6684740f42efa99026721b590/cover/Cover0.jpg?sign=db236b18ec2bcf802cf156bfdbedaea5&t=6612ed98&us=vIETOGErJv",
            "patch_img_url_compressed": "https://c-vod-hw-k.xiaoeknow.com/asset/dc11aee6684740f42efa99026721b590/cover/Cover0.jpg?sign=db236b18ec2bcf802cf156bfdbedaea5&t=6612ed98&us=vIETOGErJv",
            "can_select": 1,
            "is_drm": 1,
            "is_transcode": 1,
            "is_report_video_status": true,
            "resource_type": 3
        }
    },
    "forward_url": ""
}

解析后的结果:{‘definition_name’: ‘高清’, ‘definition_p’: ‘720P’, ‘url’: ‘https://c-vod-hw-k.xiaoeknow.com/asset/c2c93d7741e0116ff2a2db6db677bda9/17c89c7e64670550b186329a91596a0a.m3u8?sign=de133703753b7d876ad8b0c559ea0741&t=6612ed98&us=HWyBJVpWgS’, ‘is_support’: False, ‘ext’: {‘host’: ‘https://c-vod-hw-k.xiaoeknow.com’, ‘path’: ‘asset/c2c93d7741e0116ff2a2db6db677bda9’, ‘param’: ‘sign=de133703753b7d876ad8b0c559ea0741&t=6612ed98&us=HWyBJVpWgS’}}

{
    "code": 0,
    "msg": "success",
    "data": {
        "config_data": {
            "1": {
                "config_name": "xxxx",
                "is_open": 1,
                "config_type": 1
            },
            "2": {
                "config_name": "防拖拽",
                "is_open": 0,
                "config_type": 2
            }
        },
        "video_urls": "W$siZGVmaW5pdGlvbl9uYW@lIjoiXHU5YWQ%XHU#ZTA@IiwiZGVmaW5pdGlvbl9wIjoiNzIwUCIsInVybCI6Imh0dHBzOlwvXC9jLXZvZC5ody@jZG%ueGlhb#Vrbm9$LmNvbVwvOTc#NGE$YTV#b#R0cmFuc#d6cDEyNTI@MjQxMjZcL#I0YzY5Y#RlMzI$MDgzNTAxNDg%ODAyNTMzM@wvZHJtXC9#LmY0MjEyMjAubTN@OD9zaWduPTJjZThhM#RiNmJjODY@NDYzYjI5MjFkNTA#NGY%YWRmJnQ9NjYxMmVkOTcmdXM9WWhoZ@RVenpHaSIsImlzX$N@cHBvcnQiOmZhbHNlLCJleHQiOnsiaG9zdCI6Imh0dHBzOlwvXC9jLXZvZC5ody@jZG%ueGlhb#Vrbm9$LmNvbSIsInBhdGgiOiI5NzY0YTdhNXZvZHRyYW5zZ$pwMTI@MjUyNDEyNlwvYjRjNjljZGUzMjcwODM@MDE0ODg%MDI@MzMzXC9kcm0iLCJwYXJhbSI6InNpZ#%9MmNlOGEzZGI#YmM%NjU0NjNiMjkyMWQ@MDY0ZjhhZGYmdD0#NjEyZWQ5NyZ@cz@ZaGhnVFV6ekdpIn@9XQ==__ba",
        "only_h5_play": 0,
        "jump_h5_url": "",
        "jump_mini_program_url": "https://wechatapppro-1252524126.cos.ap-shanghai.myqcloud.com/app5vfffdhz8371_v_659eb843e4b064a8fbe3e7da_qr_code.jpg",
        "payment_url": "",
        "video_player_type": 1,
        "is_auto_play": 0,
        "is_try": 0,
        "product_try_info": {},
        "user_last_process_time": 0,
        "user_last_process": 0,
        "video_info": {
            "app_id": "app5vfffdhz8371",
            "resource_id": "v_659eb843e4b064a8fbe3e7da",
            "video_length": 8264,
            "file_name": "项目管理概论.mp4",
            "video_audio_url": "https://c-vod.hw-cdn.xiaoeknow.com/9764a7a5vodtransgzp1252524126/b4c69cde3270835014888025333/v.f1010.mp3?sign=a12738e1246d1b3eb89f2b3848bd48fb&t=6612ed97&us=NnblWUtCYG",
            "patch_img_url": "https://c-vod.hw-cdn.xiaoeknow.com/9764a7a5vodtransgzp1252524126/b4c69cde3270835014888025333/coverBySnapshot/coverBySnapshot_10_0.jpg?sign=cc02ff3a17c766c222f30c1e88f7555a&t=6612ed97&us=IHoiutFwdk",
            "patch_img_url_compressed": "https://c-vod.hw-cdn.xiaoeknow.com/9764a7a5vodtransgzp1252524126/b4c69cde3270835014888025333/coverBySnapshot/coverBySnapshot_10_0.jpg?sign=cc02ff3a17c766c222f30c1e88f7555a&t=6612ed97&us=IHoiutFwdk",
            "can_select": 1,
            "is_drm": 1,
            "is_transcode": 1,
            "is_report_video_status": true,
            "resource_type": 3
        }
    },
    "forward_url": ""
}

解析后的结果:
{‘definition_name’: ‘高清’, ‘definition_p’: ‘720P’, ‘url’: ‘https://c-vod.hw-cdn.xiaoeknow.com/9764a7a5vodtransgzp1252524126/b4c69cde3270835014888025333/drm/v.f421220.m3u8?sign=2ce8a3db6bc865463b2921d5064f8adf&t=6612ed97&us=YhhgTUzzGi’, ‘is_support’: False, ‘ext’: {‘host’: ‘https://c-vod.hw-cdn.xiaoeknow.com’, ‘path’: ‘9764a7a5vodtransgzp1252524126/b4c69cde3270835014888025333/drm’, ‘param’: ‘sign=2ce8a3db6bc865463b2921d5064f8adf&t=6612ed97&us=YhhgTUzzGi’}}

代码如下:

def video_url_decrypt(video_urls):
    """视频地址json解密"""
    s = video_urls.replace('@', '1').replace('#', '2').replace('$', '3').replace('%', '4').replace('__ba', '')
    json_data = base64.b64decode(s.encode('utf-8'))[1:-1]
    response = json.loads(json_data)
    return response

def turn_video_page(name, resource_id='v_6582f557e4b064a8ccb1ef10'):
    """跳转到视频首页,获取视频连接"""
    data = {
        'resource_id': resource_id,
        'opr_sys': 'MacIntel',
        'product_id': 'p_5fbcc46be4b04db7c090a44d',
        'content_app_id': '',
    }
    url = 'https://app5vfffdhz8371.pc.xiaoe-tech.com/xe.course.business.video.detail_info.get/2.0.0'
    response = requests.post(url=url, cookies=cookies, headers=headers, data=data)
    print(response.text)
    res = response.json().get("data")
    video_url = video_url_decrypt(res.get("video_urls")).get("url")  # 加密字符串
    with open("m3u8_url_video.txt", "a") as f:
        f.write("\n")
        f.write(name + "  " + video_url)
    return video_url

播放视频

在这里插入图片描述

视频播放会请求上一步获取的m3u8链接,暂时发现如下两种不同的m3u8链接:
https://c-vod.hw-cdn.xiaoeknow.com/9764a7a5vodtransgzp1252524126/7fdead483270835014004266000/drm/v.f421220.m3u8?sign=9505e15ce9d5f2bf65fe8b83dd4f0e11&t=661329f6&us=ODyDZnnrVl

https://c-vod-hw-k.xiaoeknow.com/asset/c2c93d7741e0116ff2a2db6db677bda9/17c89c7e64670550b186329a91596a0a.m3u8?sign=9d8e7d81c70db0a7d4764db4b81eb49c&t=6612efd8&us=QqOVKyIXhZ

分析响应

#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI="https://app.xiaoe-tech.com/get_video_key.php?edk=CiBum2HmO%2Bs85zhxDiVCj2dwCRdgkCEO%2F3ZkCiojjj1WCBCO08TAChiaoOvUBCokYjRhNjFiNTgtMmVhNy00OWYxLTgwZGMtZTE0NTIyODc5YWIy&fileId=3270835014108220128&keySource=VodBuildInKMS",IV=0x00000000000000000000000000000000
#EXTINF:2.000000,
v.f421220_0.ts?start=0&end=124095&type=mpegts&sign=a753fc88bb015bd306135970154a7cd2&us=mhECMpvoVw&t=6612d3b2
#EXTINF:2.000000,
v.f421220_0.ts?start=124096&end=222431&type=mpegts&sign=a753fc88bb015bd306135970154a7cd2&us=mhECMpvoVw&t=6612d3b2
#EXTINF:2.000000,
v.f421220_0.ts?start=222432&end=320959&type=mpegts&sign=a753fc88bb015bd306135970154a7cd2&us=mhECMpvoVw&t=6612d3b2
#EXTINF:2.000000,
v.f421220_0.ts?start=320960&end=465727&type=mpegts&sign=a753fc88bb015bd306135970154a7cd2&us=mhECMpvoVw&t=6612d3b2
#EXTINF:2.000000,
8000007_B4KhET5DNsuk_0.ts?t=6612efd8&sign=9d8e7d81c70db0a7d4764db4b81eb49c&us=QqOVKyIXhZ
#EXTINF:2.000000,
8000007_B4KhET5DNsuk_1.ts?t=6612efd8&sign=9d8e7d81c70db0a7d4764db4b81eb49c&us=QqOVKyIXhZ
#EXTINF:2.000000,
8000007_B4KhET5DNsuk_2.ts?t=6612efd8&sign=9d8e7d81c70db0a7d4764db4b81eb49c&us=QqOVKyIXhZ
#EXTINF:2.000000,



#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:4
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI="https://app.xiaoe-tech.com/xe.basic-platform.material-center.distribute.hw.vod.get/1.0.0?asset_id=47fa29c3d5ee8e7a85d55f6c32b138d9&app_id=app5vfffdhz8371",IV=0x30656262613161656263396135646135
#EXTINF:2.000000,
8000007_0D3wtWhj836Q_0.ts?t=6615714a&sign=2911a55fe0b3cb273f5ec7380adb6fc6&us=hEwQRJDazZ
#EXTINF:2.000000,
8000007_0D3wtWhj836Q_1.ts?t=6615714a&sign=2911a55fe0b3cb273f5ec7380adb6fc6&us=hEwQRJDazZ
#EXTINF:2.000000,
8000007_0D3wtWhj836Q_2.ts?t=6615714a&sign=2911a55fe0b3cb273f5ec7380adb6fc6&us=hEwQRJDazZ
#EXTINF:2.000000,
8000007_0D3wtWhj836Q_3.ts?t=6615714a&sign=2911a55fe0b3cb273f5ec7380adb6fc6&us=hEwQRJDazZ
#EXTINF:2.000000,
8000007_0D3wtWhj836Q_4.ts?t=6615714a&sign=2911a55fe0b3cb273f5ec7380adb6fc6&us=hEwQRJDazZ
#EXTINF:2.000000,
8000007_0D3wtWhj836Q_5.ts?t=6615714a&sign=2911a55fe0b3cb273f5ec7380adb6fc6&us=hEwQRJDazZ
#EXTINF:2.000000,
8000007_0D3wtWhj836Q_6.ts?t=6615714a&sign=2911a55fe0b3cb273f5ec7380adb6fc6&us=hEwQRJDazZ
#EXTINF:2.000000,

发现对视频内容进行了AES-128加密,附带了关于key的URL以及IV,还有上千段ts链接,可以通过正则提取出来,并将ts链接补充完整:

def get_ts_list(name, video_url):
    "获取ts视频列表"
    if "asset" in video_url:
        base_url = "https://c-vod-hw-k.xiaoeknow.com/asset/" + re.findall(r"asset/(.*)/", video_url, re.S)[0]
    else:
        base_url = "https://c-vod.hw-cdn.xiaoeknow.com/" + re.findall(r".com/(.*?)/drm", video_url, re.S)[0] + "/drm"
    response = requests.get(url=video_url, headers=headers)
    # print(response.text)  # 获取m3u8内容
    key_url = re.findall(r'URI="(.*?)"', response.text, re.S)[0]
    iv = re.findall(r'IV=(.*?)\n#EXTINF', response.text, re.S)[0]
    ret_list = re.findall(r"000000,\n(.*?)\n#EXTINF", response.text, re.S)
    print("ts个数=", len(ret_list))
    ts_url_list = []
    for index, i in enumerate(ret_list):
        ts_url_list.append(base_url + "/" + i)  # 完整ts地址列表
    return key_url, iv, ts_url_list

下载

解密下载内容,否则下载的ts内容无法播放,解密这里注意iv是32位的,需要转化一下取前16位的,这里展示最基础的下载,可自行使用协程等方式异步加速下载:

from Crypto.Cipher import AES

def down_ts(index, key_url, ts_url, path):
    """
    对ts视频进行下载和解密
    通过分析m3u8文件,发下解密方法和加密地址
    #EXTM3U
    #EXT-X-VERSION:3
    #EXT-X-TARGETDURATION:2
    #EXT-X-MEDIA-SEQUENCE:0
    #EXT-X-KEY:METHOD=AES-128,URI="https://app.xiaoe-tech.com/get_video_key.php?edk=CiCaME14wCxpXtrfb9LoHTMOEt%2F%2FBJV%2FU5XCorh9DiDxVRCO08TAChiaoOvUBCokYjRhNjFiNTgtMmVhNy00OWYxLTgwZGMtZTE0NTIyODc5YWIy&fileId=3270835014188149945&keySource=VodBuildInKMS",IV=0x00000000000000000000000000000000
    """
    key = requests.get(key_url).content
    ts = requests.get(ts_url).content
    iv = iv.replace("0x", "")[:16].encode() # 取前16位iv
    with open(path + "/{}.ts".format(index), 'wb') as file:
        crypto = AES.new(key, AES.MODE_CBC, iv=iv)
        file.write(crypto.decrypt(ts))
        file.close()

合并

下载了几千个ts视频,有多种合并方式,moviepy,ffmpeg或其它的软件,也可以用最简单的读写

def merge(name='论文写作基本介绍.mp4', path="/Users//Desktop/download"):
    """合并ts视频"""
    f0 = open("/Users/tt/Desktop/" + name + ".mp4", 'ab')
    print(len(os.listdir(path)))
    for i in range(0, len(os.listdir(path))):
        print(i)
        f1 = open(path + "/{}.ts".format(str(i)), "rb")
        f0.write(f1.read())
        f1.close()
    f0.close()

示例

在这里插入图片描述

提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
Mac小鹅通是一个很受欢迎的在线教育平台,许多人想要将平台上的视频下载到本地进行离线观看。虽然官方没有官方提供的下载选项,但有一些方法可以帮助我们实现这一目标。 一种常见的方法是使用第三方视频下载工具。在搜索引擎中输入“Mac小鹅通视频下载工具”,会出现一些专门用于下载在线视频的工具。选择一个可靠的工具下载并安装到您的Mac电脑上。然后,打开小鹅通平台,找到想要下载视频,复制视频地址。打开下载工具,粘贴视频地址并开始下载。等待下载完成后,您就可以将视频保存到本地文件夹中,方便随时观看。 另一种方法是使用屏幕录制软件。在Mac电脑上,我们可以使用内置的QuickTime Player软件来进行屏幕录制。打开小鹅通平台并播放想要下载视频,然后打开QuickTime Player软件。选择“文件”菜单中的“新建屏幕录制”,然后点击“录制”按钮开始录制屏幕。播放视频,并在完成后点击停止按钮。屏幕录制的视频将被自动保存到您的本地文件夹中。 无论使用哪种方法,重要的是尊重知识产权和平台规定。请确保仅将下载视频用于个人学习和研究,不要非法传播和商业使用。此外,请注意遵守相关法律法规,不要侵犯他人的知识产权。 希望以上这些方法可以帮助您在Mac电脑上下载小鹅通视频,并为您的学习提供方便。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值