下载 Google 机器学习速成课程python3 https://www.python.org pipenv https://github.com/pypa/pipenv request-html

python3 https://www.python.org

从官网下载安装或者用brew

$ brew linkapps python3
$ brew linkapps python3

pipenv https://github.com/pypa/pipenv

$ pip install pipenv

.zshrc

eval "$(pipenv --completion)"

request-html http://html.python-requests.org/en/latest/

$ git clone https://github.com/iOSDevLog/Machine-Learning-Crash-Course
$ cd Machine-Learning-Crash-Course
$ pipenv --python 3.6
$ pipenv install requests-html
$ pipenv shell     # To activate this project's virtualenv

fetch_course.py

#!/usr/bin/env python
import os
import ssl
import time

from requests_html import HTMLSession

ssl._create_default_https_context = ssl._create_unverified_context

base_url = 'https://developers.google.com/machine-learning/crash-course/'

def course_info(course_url):
    session = HTMLSession()
    request = session.get(course_url)

    data_video_url = ''
    data_captions_url = ''
    # video_info = request.html.find('.devsite-vplus', first=True)
    # data_video_url = video_info.attrs['data-video-url']
    # data_captions_url = video_info.attrs['data-captions-url']

    next_url_info = request.html.find('div.devsite-steps-next > a.devsite-steps-link', first=True)
    next_url = next_url_info.attrs['href']

    return (data_video_url, data_video_url, next_url)

import urllib.request

def getHtml(url):
    html = urllib.request.urlopen(url).read()
    return html

def saveHtml(file_name, file_content):
    dir = 'course_html/'
    file_name = file_name.replace('/','_')+'.html'
    path = os.path.join(dir, file_name)
    with open (path, 'wb') as f:
        f.write(file_content)

if __name__ == '__main__':
    next_url = 'https://developers.google.com/machine-learning/crash-course/framing/check-your-understanding'
    while next_url:
        try:
            (_, _, next_url) = course_info(next_url)
            filename = os.path.basename(next_url)
            html = getHtml(next_url)
            saveHtml(filename, html)
            print(next_url)
        except:
            time.sleep(5)
            print("Was a nice sleep, now let me continue...")
            continue

data_video_url 为mp4视频相对地址 data_captions_url 为字幕相对地址

通过 base_url 可得到绝对地址,后面再写吧。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏三十课

【图片版】CSS网格布局(Grid)完全教程

CSS网格布局(Grid)是一套二维的页面布局系统,它的出现将完全颠覆页面布局的传统方式。传统的CSS页面布局 一直不够理想。包括table布局、浮动、定位及内...

475100
来自专栏DannyHoo的专栏

iOS中将字体设置成斜体且加粗

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

49910
来自专栏smy

css sprite 调整大张图片中小图标的大小

直接说解决方法: ? 假设一张拼合好的大图大小是:900 x 1000 px (如上图) 现在想取图中左上角的河马图标,并缩小图标的大小。 正常取图: .spr...

40250
来自专栏freesan44

关于Autolayout和Masonry自动布局的几个坑

最近遇到一个复杂视图:根控制器里面有上下两个子控制器,子控制器中各自实现类似PageView的视图,然后PageView的每一页是一个WebView,同时中间有...

14820
来自专栏开源项目

Git 项目推荐 | 图片验证码生成库

一个简单的Go语言实现的验证码。 图片实例 ? ? ? ? 简介 基于Golang实现的图片验证码生成库,可以实现随机字母个数,随机直线,随机噪点等。可以设置...

47860
来自专栏林德熙的博客

matlab 画图

本文讲如何使用 matlab 画图。 本文包括:折线图的 x轴和y轴、标题、图例 柱状图填充图案

25120
来自专栏Python小屋

Python绘制匀加速运动质点的速度-时间图像与位移-时间图像

11910
来自专栏Python数据科学

Python十分钟制作属于你自己的个性logo

词云的使用相信大家已经不陌生了,使用很简单,直接调用wordcloud包就可以了。它的主要功能是根据文本词汇和词汇频率生成图片,从中可以直观的看出各个词汇所占比...

10320
来自专栏九彩拼盘的叨叨叨

零基础学前端 学习路线

8110
来自专栏Golang语言社区

GO语言利用K近邻算法实现小说鉴黄

Usuage: go run kNN.go --file="data.txt" 关键是向量点的选择和阈值的判定 样本数据来自国家新闻出版总署发布通知公布的《...

31950

扫码关注云+社区

领取腾讯云代金券