iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 28
1
Modern Web

🍐放學後的網頁開發系列 第 28

[Day28] 柚子放學後的網頁生活 - Flask project

前面練習過render跟基本介紹,今天來帶個小專案實際寫寫看吧 !

Youtube downloader

現在Youtube幾乎是每個人吃飯必備阿,前陣子有一天早上Youtube掛掉看到一堆哀號XD

設計下載Youtube的小工具吧!

沒事想練習寫程式就找個小問題來解決
而這些也可以成為你的作品哦

想法:

簡單來說,輸入網址,收到後下載,下載成功就返回失敗重來

HTML

先設計個 form 讓 user input

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Youtube</title>
  </head>
  <body>
    <h1> Youtube downloader <h1>
      <form class="" action="/submit" method="post">
        <label for="">Enter Url : </label>
        <input type="text" name="url" value="">
        <button type="submit">Submit</button>
      </form>
  </body>
</html>

The same, run the server

python XXX.py

Pytube

這次需要用到Pytube來幫忙download

pip install pytube

pytube github:https://github.com/nficano/pytube

@app.route('/submit', methods=['POST'])
def post_submit():

##先把YouTube實體化(yt為instance)
    yt=YouTube()
    
##把剛剛的url get
    url = request.form.get('url')
    yt.url=url
    
##指定要抓的格式,太高怕等太久
    video = yt.get('mp4','720p')
    
##download完放到原本的檔案目錄
    video.download('./')
    
##檔名就抓原本的片名
    filename=yt.filename
    return redirect(url_for('index',filename=filename))

TEST

剛好聽到這首,就抓這首吧 !

複製貼上Url

等他run完後看資料夾!

大功告成~~

下課囉 ~ 請鎖定柚子放學後的網頁生活


上一篇
[Day27] 柚子放學後的網頁生活 - Flask render
下一篇
[Day29] 柚子放學後的網頁生活 - Web Cralwer / Stock
系列文
🍐放學後的網頁開發30

尚未有邦友留言

立即登入留言