视频演示:https://v.qq.com/x/page/s3074becqg7.html

本文可能是一师一课视频的下载和合并方法的首发。大体思路是先使用油猴插件,抓取到标题和视频列表地址,再在python中逐一下载列表中的视频片段并合并成一个文件,最后删除视频片段。具体流程如下:

1.添加油猴脚本

// ==UserScript==
// @name         1s1k
// @namespace    http://oyfdkz.com/
// @version      0.1
// @description  try to take over the world!
// @author       QQ 5432012
// @match        http://1s1k.eduyun.cn/*
// @grant        123456
// ==/UserScript==(function() {//进入页面后每500毫秒重复执行var t1 = window.setInterval(hello,500);function hello(){//试图抓取视频播放器中列表地址var ls=player.getPlaylist();var fn=ls[0].file;if(fn.indexOf('.m3u8')!=-1){//抓到地址,退出循环,弹出标题和地址window.clearInterval(t1);var tt = document.getElementsByTagName('h1')[0].innerHTML;tt.replace(/[<>:"/|?*]+/g, '');alert(tt+'|'+fn);}}})();

设置用户包括,在访问1s1k.eduyun.cn时触发脚本

2.抓取标题和视频地址

访问具体的一课页面后,油猴脚本生效,弹出标题和视频列表地址,将文本复制下来。

3.python中下载合并

import urllib.request
import requests
from requests.adapters import HTTPAdapter
import time
import re
import oswhile True:#读取标题和地址geturl=input('输入地址:')url=geturl.split('|')[1]  #读取视频列表 website = urllib.request.urlopen(url,timeout = 1000)html = website.read()html=html.decode('utf-8','ignore')line=html.split('\n')#片段总数    tstr=line[len(line)-3].split('.')tstr=tstr[len(tstr)-2]tstr=int(tstr)+1#标题处理path_data=geturl.split('|')[0]rstr = r"[\/\\\:\*\?\"\<\>\|]"  # '/ \ : * ? " < > |'path_data = re.sub(rstr, "_", path_data)  # 替换为下划#临时目录清空    if os.path.exists(path_data):del_list = os.listdir(path_data)for i in del_list:file_data = path_data + "/" + iif os.path.isfile(file_data) == True:os.remove(file_data)else:del_file(file_data)os.mkdir(path_data)     #依次下载片段    for i in range(tstr):      s = requests.Session()s.mount('http://', HTTPAdapter(max_retries=12))                          try:fc=s.get(url+'.' +str(i)+ '.ts', timeout=(5,300))            print(str(i), end = ' ')with open(path_data+'/'+str(i)+'.ts','wb') as f:       f.write(fc.content)f.closeexcept:print(str(i) +"超时放弃.............")#合并片段fname = open(path_data+'.mp4','wb')    print('')      for i in range(tstr):x=open(path_data+'/'+str(i)+'.ts','rb')fname.write(x.read())x.close     fname.close()x=open('tmp','r')x.close #删除片段del_list = os.listdir(path_data)    for i in del_list:       file_data = path_data + "/" + itry:os.remove(file_data)except:print(file_data +' del err')try:os.rmdir(path_data)except:print('', end = '')    print(path_data+" is ok!")print('');

运行python脚本,粘贴刚才复制的地址

一师一课一节课的视频被压缩到200兆左右,画质损失严重。下载的方式要比录屏效率更高,损失更小。初学python,代码粗陋,仅供参考。

土豪用户直接下载代码:https://download.csdn.net/download/nokiae50/12202653

一师一优课课堂实录下载与合并相关推荐

  1. 一师一优课转码工具_一师一优课流程详细整理

    最近这几天录了一师一优优课,虽然过程比较波折,也比较忙碌也比较疲劳,但其实是收获了很多东西的其中最宝贵的就是这一次的经验,为了下一次能做得更好,时间上更充分一些,秉承着如果想要不忘记那么教会别人的理念 ...

  2. 江苏省基础云计算机服务平台,江苏省一师一优课、一课一名师活动-江苏省基础教育云计算服务平台.doc...

    江苏省一师一优课.一课一名师活动-江苏省基础教育云计算服务平台.doc 江苏省"一师一优课.一课一名师"活动优课 教研专题片获奖情况 一等奖 序号 所属地区 课 名 学 科 1 连 ...

  3. 一师一优课计算机课程,教育部一师一优课在线会客室在南京成功直播

    日前,南京市电化教育馆演播厅体育大咖云集,教育部"一师一优课.一课一名师"在线会客室直播活动正在进行.活动得到了江苏省电教馆的大力支持,杨乃洪主任与郑暹主任亲临现场指导.本次受邀参 ...

  4. 江苏省基础云计算机服务平台,江苏省一师一优课一课一名师登录入口

    江苏省基础教育云计算服务平台我要晒课网晒课系统是国家教育资源公共服务平台为江苏省老师打造的一师一优课一课一名师登录入口晒课软件,教师登录后可以在线晒课,参与一师一优课活动,上传课程视频进行晒课! 江苏 ...

  5. 教育资源平台html代码,一师一优课国家教育资源平台:http://1s1k.eduyun.cn/portal/html/1s1k/index/1.html...

    查询课程ID方法 ID是英文IDentity的缩写,是身份标识号码的意思,平台上每个资源.资源信息都有自己独有ID,通过一些方法,我们可以查到自己所晒课的课程ID. 当选择"我要晒课&quo ...

  6. 优品课堂python下载_Python 网络爬虫数据采集 【优品课堂】

    资源内容: Python 网络爬虫数据采集 [优品课堂]|____9 requests HTTP编程          |____5 [录播]requests cookies 处理           ...

  7. 优品课堂python下载_Python网络爬虫数据采集【优品课堂】

    资源内容: Python网络爬虫数据采集[优品课堂]|____1.mp4|____1.mp4|____1.mp4|____1.mp4|____1Python标准库urllib应用I|____1URL解 ...

  8. 教师计算机课游戏教学设计,有趣的游戏教学设计及课堂实录

    共1课时 有趣的游戏 小学语文       人教2001课标版 1新设计 <有趣的游戏>是人教版语文第一册第三单元语文园地的一堂口语交际课.口语交际是训练听话.说话能力的一种形式,是一种双 ...

  9. 计算机课学生段密码,优课互联课堂学生端

    优课互联课堂学生端提供上课功能,学生在软件上就可以同步老师的电脑,从而立即在软件上课,这款软件操作还是很简单的,老师可以预先为学生连接到教室,也可以让学生自己连接到教室,学生端提供了可用的教师会话列表 ...

最新文章

  1. 搜索专题:问题 E: 挑战ACM迷宫
  2. 【C#】事件,委托3点详解
  3. 开源图像检索项目PicSearch is now an open source project
  4. 2018年第九届蓝桥杯 - 省赛 - C/C++大学A组 - F.航班时间
  5. 艰难的原创——谈互联网创业
  6. 实现视频和音频的零延迟是标准的零和博弈
  7. Javaweb经典三层架构的演变
  8. 修改map.html,HTML map 标签 | 菜鸟教程
  9. 【小程序】【Tips】等待服务器的反馈的定时、间隔运行的正确方法
  10. 小米跨界成立餐饮公司?其实就是新园区食堂...
  11. 微软发布 Autodesk FBX 漏洞带外安全公告,将于5月推出补丁
  12. Beta阶段冲刺第一天
  13. 位运算初步入门状态压缩操作
  14. ad13批量安装元件库_别人的altium designer常用元件库和封装库下载-非常全面初学者有福了...
  15. 网页设计html5留言板代码,web网页设计期末大作业_留言板制作.doc
  16. Mac本配置adb环境,通过adb安装apk。
  17. 下洗风场分析与喷雾模拟
  18. win8删除计算机管理员权限,win8.1系统如何删除administrator账户
  19. 用20行代码读懂复仇者联盟的人物关系(无剧透)
  20. 王春亮用心接待全国的调养者和学习者

热门文章

  1. python打印100以内质数_怎么用python打印100以内的质数
  2. 国际航运管理考试整理
  3. java中如何输入一个字符(用字符串转换)
  4. 重磅!又一个自主研发的国产操作系统要出现了?传中科红旗正研发新一代Linux...
  5. Nature: Large teams develop and small teams disrupt science ad technology, 2019
  6. 数据透视表——pivot_table学习(特征工程)
  7. 可爱的“符号表情”emoticon
  8. 计算数字 k 在 0 到 n 中的出现的次数,k 可能是 0~9 的一个值。
  9. 基于SSH开发银行账目(业务)管理系统
  10. 2021年压力管道巡检维护新版试题及压力管道巡检维护免费试题