Python實例 | 批量下載斗羅大陸高清影片
- 2019 年 10 月 7 日
- 筆記
0x00 下載影片下載腳本
首先來到我的Github主頁,找到Douluo-download項目,點開找到下載地址,使用git clone對其進行下載
git clone https://github.com/teamssix/Douluo-download.git

0x01 安裝python所需要的庫
cd Douluo-download/ pip3 install -r requirements.txt

0x02 執行Python程式
python3 douluo.py

程式在執行的時候會感覺比較慢,其實不是卡了,而是程式正在下載影片,當下載好一個影片才會彈出一條資訊。
0x03 查看成果
執行ls命令可以看到剛才下載的影片

播放看看能不能正常播放

可以看到是可以正常播放的,不過我想試試最新的一集,也就是看看需要會員的影片能不能下載下來,當前最新的一集是55集,那我們下載試試。
0x04 繼續嘗試下載VIP影片
知道下載那一集後還需要修改一下程式碼才行,將原來下載影片的程式碼簡單做一下修改就行

執行看看

看來不行,只能下載到預告片,接下來就對程式碼就行簡單的介紹吧
0x05 程式碼簡單介紹
1、第一部分:導入庫設定變數
#導入庫設定變數 import os import requests from bs4 import BeautifulSoup headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36'} home_url ='https://v.qq.com/x/cover/m441e3rjq9kwpsc/m00253deqqo.html'
這部分就是導入一些庫和一些設定的變數什麼的,比如headers、url什麼的,沒什麼好說的
2、第二部分:爬取每個影片的id
#爬取每個影片的id douluohome = requests.get(home_url,headers=headers) douluohome.encoding='utf-8' douluosoup = BeautifulSoup(douluohome.text,'html.parser') douluolist = douluosoup.select('.mod_episode')[0].select('a')
這裡用到了BeautifulSoup4庫,先requets獲取頁面資訊,用BeautifulSoup4去對頁面html進行解析,最後找到我們想要的東西,這裡是清洗出每個影片的ID
3、第三部分:合成下載鏈接
#合成下載鏈接 lists = [] for i in range(len(douluolist)): lists.append('https://v.qq.com'+douluolist[i]['href'])
很簡單的一個處理,將上一步獲取的影片的id加到v.qq.com後面,生成影片的播放鏈接
4、第四部分:開始下載影片
#開始下載影片 for i in range(len(lists)): try: print(os.popen('you-get {}'.format(lists[i])).read()) #影片會下載到當前目錄 except: pass continue
這部分其實也沒有什麼東西,有了每個影片的播放鏈接後,直接使用工具就可以下載了,這裡使用的是利用os庫調用you-get命令進行下載的,最後將you-get命令的顯示結果傳回終端。
0x06 總結
總的說來,其實Python主要就是起到爬蟲作用,爬取每個影片的播放鏈接,最後使用you-get對影片進行下載,沒有什麼太大的難度,所以權當練練手了,另外點擊閱讀原文可觀看本文影片演示。