本文基于Python 3,下载麦子学院的视频课程。

本项目只是针对某个具体课程的链接,去寻找该课程所有课时的视频链接并进行下载。

整个项目是非常简单的。

主要涉及的Python:

  1. 网络相关:requests 和 urllib.request (这部分不同于Python 2)
  2. 文件操作和正则表达式的操作

分析流程:

  1. 打开某个具体的课程链接,如"http://www.maiziedu.com/course/21/"
  2. 在chrome 浏览器下,通过"Ctrl + u",查看该课程网页的源。通过对源的分析,构建一些正则表达式,从而可以从源中提取出每一节课程的视频url
  3. 根据获取的视频url,进行下载。

后续加强:

  1. 通过json 文件进行配置需要下载的课程url,以及下载的视频保存目录
  2. 采用多线程的方式进行下载视频

具体souce code:

source code 存放在了github 中:

https://github.com/jiao-chen/PyDownMaiziCourse

[Python] 使用Python 3 下载麦子学院视频的更多相关文章

  1. python爬取并下载麦子学院所有视频教程

    一.主要思路 scrapy爬取是有课程地址及名称 使用multiprocessing进行下载 就是为了爬点视频,所以是简单的代码堆砌 想而未实行,进行共享的方式 二.文件说明 itemsscray字段 ...

  2. Python简单网页爬虫——极客学院视频自动下载

    http://blog.csdn.net/supercooly/article/details/51003921

  3. Python基础+Pythonweb+Python扩展+Python选修四大专题 超强麦子学院Python35G视频教程

    [保持在百度网盘中的, 可以在观看,嘿嘿 内容有点多,要想下载, 回复后就可以查看下载地址,资源收集不易,请好好珍惜] 下载地址:http://www.fu83.cc/ 感觉文章好,可以小手一抖 -- ...

  4. Python 爬虫实例(13) 下载 m3u8 格式视频

    Python  requests  下载  m3u8 格式    视频 最近爬取一个视频网站,遇到  m3u8 格式的视频需要下载. 抓包分析,视频文件是多个  ts 文件,什么是 ts文件,请去百度 ...

  5. 麦子学院python开发全套完整无加密课程

    点击了解更多Python课程>>> 麦子学院python开发全套完整无加密课程 第一阶段:Python基础准备 1.Web前端开发之HTML+CSS基础入门 2.Javascript ...

  6. 用Python写了个下载快手视频的小脚本

    最近又重新拾起了,对python的热情. 贴个地址: https://github.com/d1y/lovepack/blob/master/kuaishou.py 前戏说明 因为我近乎癫狂的喜欢一个 ...

  7. 如何手动写一个Python脚本自动爬取Bilibili小视频

    如何手动写一个Python脚本自动爬取Bilibili小视频 国庆结束之余,某个不务正业的码农不好好干活,在B站瞎逛着,毕竟国庆嘛,还让不让人休息了诶-- 我身边的很多小伙伴们在朋友圈里面晒着出去游玩 ...

  8. PyQt(Python+Qt)学习随笔:MoviePy视频转GIF动图相关方法介绍

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 MoviePy能处理的视频是ffmpeg格式的,老猿理解支持的文件类型 ...

  9. 用python做youtube自动化下载器 代码

    目录 项目地址 思路 流程 1. post i. 先把post中的headers格式化 ii.然后把参数也格式化 iii. 最后再执行requests库的post请求 iv. 封装成一个函数 2. 调 ...

随机推荐

  1. 十二、GUI设计-画图程序

    """小小画笔""" from tkinter import *from tkinter.filedialog import *from t ...

  2. (转)绝对路径${pageContext.request.contextPath}用法及其与web.xml中Servlet的url-pattern匹配过程

    以系统的一个“添加商品”的功能为例加以说明,系统页面为add.jsp,如图一所示: 图一  添加商品界面 系统的代码目录结构及add.jsp代码如图二所示: 图二   系统的代码目录结构及add.js ...

  3. 吴裕雄--天生自然 JAVASCRIPT开发学习: HTML DOM - 改变CSS

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. Java多人聊天室第一版

    package cn.zhang.chat; import java.io.BufferedReader; import java.io.PrintWriter; /** * 所有用户均有的信息,单独 ...

  5. SpringContextHolder类

    1.通常使用SpringContextHolder类获取bean实例: 解决: 如果要在静态方法中调用某一bean的方法,那么该bean必须声明为static的,但正常情况下@Autowired无法注 ...

  6. 重载(overloading)和重写@Override

    一.重写:@Override 定义:字类方法覆盖父类方法,通俗来说就是方法里面的内容可以不一样,其他都一样. (1)必须保证权限大于等于父类的权限public>protetcted>默认& ...

  7. ArcGIS 二次开发总结

    个人总结 1. Enterprise10.7新特性 新增共享实例,可以将不常用服务分配共享实例,减少服务器压力.仅支持ArcGIS pro发布的地图服务,且仅开启feature access,kml, ...

  8. 吴裕雄--天生自然 PHP开发学习:魔术常量

    <?php echo '这是第 " ' . __LINE__ . ' " 行'; ?> <?php echo '该文件位于 " ' . __FILE__ ...

  9. lightgbm直方图算法

    https://blog.csdn.net/anshuai_aw1/article/details/83040541

  10. keyword排序-Es问题

    问题:mapping索引registerordercount字段设置为keyword,但是在进行倒序排的视乎发现,没有按预期排序. keyword类型: "registerordercoun ...