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對影片進行下載,沒有什麼太大的難度,所以權當練練手了,另外點擊閱讀原文可觀看本文影片演示。