前段时间安装了一个慕课网app,发现不用注册就可以在线看其中的视频,就有了想爬取其中的视频,用来在电脑上学习。
决定花两天时间用学了一段时间的python做一做。(我的新书《Python爬虫开发与项目实战》出版了,大家可以看一下样章) 我使用的是pycharm进行开发,使用BeautifulSoup模块解析html,整个代码进行了比较详细的注释。
整个工程结构:

----entity

--------__init__.py

--------fileinfor.py用来描述视频文件信息

----filedeal

--------__init__.py

--------file_downloader.py用于视频文件的下载

----spider 爬虫的核心内容
--------__init__.py --------html_downloader.py html下载器 --------html_parser.py html解析器 --------spiderman.py 爬虫核心逻辑 ----test test文件夹主要是用来测试一些用例,不参与整个程序运行 ----conf.py 一些全局变量 ----index.py 程序启动入口 运行环境:
python 2.7.X
需要安装的支持模块:
BeautifulSoup (pip install或者下载源代码包setup.py),下载链接:https://pypi.python.org/pypi/beautifulsoup4/4.3.2 运行:在windows上直接双击start.bat,linux上没试 现在将程序运行起来,双击start.bat:

输入课程号,选择视频品质:

等到显示100%时,会将视频下载到当前目录下

源代码在我的github上:https://github.com/qiyeboy/spider_smooc

欢迎大家指教学习

我的微信公众号:qiye_python

请大家关注,我会经常分享我的技术和作品,大家共同进步

												

python爬虫:爬取慕课网视频的更多相关文章

  1. Python爬虫爬取全书网小说,程序源码+程序详细分析

    Python爬虫爬取全书网小说教程 第一步:打开谷歌浏览器,搜索全书网,然后再点击你想下载的小说,进入图一页面后点击F12选择Network,如果没有内容按F5刷新一下 点击Network之后出现如下 ...

  2. Node.js爬虫-爬取慕课网课程信息

    第一次学习Node.js爬虫,所以这时一个简单的爬虫,Node.js的好处就是可以并发的执行 这个爬虫主要就是获取慕课网的课程信息,并把获得的信息存储到一个文件中,其中要用到cheerio库,它可以让 ...

  3. python爬虫爬取赶集网数据

    一.创建项目 scrapy startproject putu 二.创建spider文件 scrapy genspider  patubole patubole.com   三.利用chrome浏览器 ...

  4. Python爬虫 爬取百合网的女人们和男人们

    学Python也有段时间了,目前学到了Python的类.个人感觉Python的类不应称之为类,而应称之为数据类型,只是数据类型而已!只是数据类型而已!只是数据类型而已!重要的事情说三篇. 据书上说一个 ...

  5. Python爬虫之爬取慕课网课程评分

    BS是什么? BeautifulSoup是一个基于标签的文本解析工具.可以根据标签提取想要的内容,很适合处理html和xml这类语言文本.如果你希望了解更多关于BS的介绍和用法,请看Beautiful ...

  6. 用Python爬虫爬取广州大学教务系统的成绩(内网访问)

    用Python爬虫爬取广州大学教务系统的成绩(内网访问) 在进行爬取前,首先要了解: 1.什么是CSS选择器? 每一条css样式定义由两部分组成,形式如下: [code] 选择器{样式} [/code ...

  7. Python爬虫|爬取喜马拉雅音频

    "GOOD Python爬虫|爬取喜马拉雅音频 喜马拉雅是知名的专业的音频分享平台,用户规模突破4.8亿,汇集了有声小说,有声读物,儿童睡前故事,相声小品等数亿条音频,成为国内发展最快.规模 ...

  8. Python爬虫 - 爬取百度html代码前200行

    Python爬虫 - 爬取百度html代码前200行 - 改进版,  增加了对字符串的.strip()处理 源代码如下: # 改进版, 增加了 .strip()方法的使用 # coding=utf-8 ...

  9. 使用Python爬虫爬取网络美女图片

    代码地址如下:http://www.demodashi.com/demo/13500.html 准备工作 安装python3.6 略 安装requests库(用于请求静态页面) pip install ...

随机推荐

  1. servlet的生命周期详解

    一.servlet生命周期原理解析 1.Servlet生命周期分为三个阶段: (1)初始化阶段  调用init()方法 (2)响应客户请求阶段 调用service()方法 (3)终止阶段 调用dest ...

  2. 面经:C++篇(持续更新)

    一. 左值和右值 L-value中的L指的是Location,表示可寻址.Avalue (computer science)that has an address. R-value中的R指的是Read ...

  3. prority_queue自定义类型使用

    struct Tower{ Tower(int h, int p){ height = h; pos = p; } bool operator < (Tower &t) { if (he ...

  4. fpn

    class-aware detector 和 class-agnostic detector:https://blog.csdn.net/yeyang911/article/details/68484 ...

  5. nginx下配置多个web服务

    参考 nginx配置详解  nginx反向代理与负载均衡详解 一.nginx简介: Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能 ...

  6. Dubbo实践(八)扩展点装饰

    Filter Filter是Dubbo里面非常重要的模块,Dubbo里面日志记录.超时等功能都是在这一部分实现. 如上一节在介绍扩展点加载时所述,在生成Protocol的invoker时,实际上使用了 ...

  7. Redis基本讲解

    Redis基本讲解 首先我们要了解redis的使用试用范围,redis不像数据库能建立关系型的数据结构,除了有序集合能关联一个double类型的分数其它的几种都是单一存储的,所以他的局限性就比较高了, ...

  8. 关于restful开发的疑惑

    if  你没有了解过restful  return; 一.疑惑 restful风格开发是有争议的,restful的设计是请求“resource”,然后只能对“resource”做CRUD操作.抽象于这 ...

  9. MySQL语句详解(用户表、密码、权限、远程)

    注: mysql.user表中Host为%的含义 Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.1.1.这里的意思就是说root用户只能通过192.168 ...

  10. Python 整数 长整数 浮点数 字符串 列表 元组 字典的各种方法

    对于Python, 一切事物都是对象,对象基于类创建!! 注:查看对象相关成员var,type, dir 一.整数 如: 18.73.84 每一个整数都具备如下需要知道的功能: def bit_len ...