Jimmy's Code

Want to be a better Coder
^

Pytube 簡單教學

2019-03-03

來寫個簡單的python 教學好了,對了! 去年我有挑戰it 幫鐵人賽,參加的是自我挑戰組,並且自己訂的主題就是python 30天! 歡迎大家去看看!

連結於此

對於鐵人賽完賽的心得不必多說,我想已經都寫在最後一天了,總之就是覺得自己還有很大的成長空間,下次參加鐵人賽一定要有更充足的準備和題目。

不得不說,這次鐵人賽的獎品
我個人覺得好浮誇……

好了,簡單交代近況也夠了,進入主題來談談python 好用的套件pytube 吧!

pytube 是用來可以抓youtube的影片,首先,你必須先安裝它

$ pip install pytube

接下來你可以確認一下pytube 是否正常運作?

$ pytube --version
$ pytube 9.4.0

接下來我們就可以開始寫下載youtube影片的程式啦!
這裡我只是簡單呈現怎麼撰寫,詳細與延伸可以參考文件:https://python-pytube.readthedocs.io/en/latest/#
小君曰:不知道為什麼文件的版本似乎落後了我目前寫的版本…

# 就是這麼簡單!!!!
from pytube import YouTube

url =input('請輸入你要下載的youtube網址: ')
print('下載 來自'+url+' 的youtube影片中...')
YouTube(url).streams.first().download()

像我自己想要更加炫技一下就會想知道我目前youtube影片的名字的話可以這樣寫….. 加入beautifulSoup 這個可以分析網頁的套件。

from pytube import YouTube
import requests
from bs4 import BeautifulSoup

url =input('請輸入你要下載的youtube網址: ')

# 先去youtube 上看看這部影片的名字
request=requests.get(url)
context = request.content
# 藉由BeautifulSoup
soup=BeautifulSoup(context,"html.parser")
# 取得我要的資料
video_name = soup.select('h1.watch-title-container')[0].get_text();
# 資料清理
video_name = video_name.replace('\n','')
video_name = video_name.replace(' ','')
# 準備下載啦
print('下載 來自'+video_name+' 的youtube影片中...')
YouTube(url).streams.first().download()
print('下載完成!')

r567tw

住在台北的一位台東developer,最喜歡"忠心"這個形容詞。這一生希望完成三件事:寫一本書、站在TED演講並且想要成為福音及各種學科的橋梁,希望自己能從基督教的思考框架出發與各學科傾聽、回應、對話