大家好,本文將圍繞python怎么下載安裝視頻教學(xué)展開說明,python怎么下載視頻文件是一個很多人都想弄明白的事情,想搞清楚怎么用python下載文件需要先了解以下幾個事情。
原標(biāo)題:運(yùn)用Python爬蟲下載電影、電視劇、動漫
前言:
本程序代碼僅供學(xué)習(xí),切莫用于商業(yè)活動,一經(jīng)被相關(guān)人員發(fā)現(xiàn),本小編概不負(fù)責(zé)!另外,如果有讀者想轉(zhuǎn)載我的這篇文章,請注明轉(zhuǎn)載鏈接!
文章目錄
-
-
- 原標(biāo)題:運(yùn)用Python爬蟲下載電影、電視劇、動漫
-
- 1.完成這個程序代碼需要的Python模塊
- 2. 爬取視頻的鏈接、簡介和名稱
- 3.得到這個視頻的下載鏈接的json文件
- 4.下載所有的.ts文件或者給出.mp4文件的下載鏈接
- 5.合并所有.ts文件
- 6.運(yùn)行結(jié)果和最終代碼
- 7.總結(jié)
-
1.完成這個程序代碼需要的Python模塊
需要的Python模塊有:requests模塊、bs4模塊、threading模塊、sys模塊、urllib模塊、os模塊
下面簡要的介紹一下在這個程序中所使用的Python模塊的作用:
requests模塊:主要用于爬取網(wǎng)頁數(shù)據(jù);
bs4模塊:主要用于解析爬取得到的數(shù)據(jù)信息;
threading模塊:主要用于下載所有的.ts文件,提高下載速度;
sys模塊:如果程序中間出現(xiàn)錯誤,終止整個程序代碼,使用sys.exit()方法;
urllib模塊:用于對用戶輸入的信息進(jìn)行編碼,主要使用urllib.parse.urlencode()方法;
os模塊:用于得到一個文件夾下面所有的文件(或者文件夾)(在這里是得到文件),使用os.listdir()方法。
2. 爬取視頻的鏈接、簡介和名稱
首先,我們要來到這個網(wǎng)址下面:YM影視
在搜索欄上面輸入一部視頻的名稱:小編在這里輸入的是:斗羅大陸,點擊搜索按鈕,來到下面的畫面:
接下倆我們需要得到的內(nèi)容就是這些了,按電腦鍵盤的F12鍵,來到開發(fā)者工具,可以發(fā)現(xiàn),這些內(nèi)容和視頻的鏈接在這個標(biāo)簽下面;
實現(xiàn)代碼:兩個函數(shù)
def get_video_content(): # 得到匹配到的相關(guān)電影(或者電視?。┑拿Q、鏈接、簡介的列表
video=input('請輸入你想看的電影或者電視劇名稱:')
keyword=parse.urlencode({'k':video})[2:] # 對輸入的名稱進(jìn)行編碼
url='http://ymystv.com/seacher-%s.html'%(keyword)
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3756.400 QQBrowser/10.5.4039.400'}
response=requests.get(url=url,headers=headers)
soup=BeautifulSoup(response.text,'lxml')
list_1=soup.select('li.activeclearfix')
# list_1列表里面有的內(nèi)容為 電影名稱(或者電視劇名稱)、鏈接、簡介等
return list_1
def get_video_contents(list_1:list): # 進(jìn)一步處理得到的內(nèi)容(解析)
list_url=[] # 視頻的鏈接
listName=[] # 視頻名稱
for i in range(len(list_1)):
url=list_1[i].select('div.detail>h3>a')[0]['href']
url='http://ymystv.com/'+url[url.rfind('./')+2:]
list_url.append(url)
name=list_1[i].select('div.detail>h3>a')[0].text
listName.append(name)
print('【{}】-{}'.format(i+1,name)) # 電影或者電視劇的名稱
str1=list_1[i].select('div.detail>div.m-deion')[0].text # 電影或者電視劇的簡介
# 對簡介進(jìn)行字符串處理,并按照每行最多50個字符輸出
str1='簡介:'+str1[str1.find('簡 介 :')+6:].strip() # 去空格
for j in range(len(str1)//50+1):
print('{}'.format(str1[j*50:(j+1)*50]))
# print('{}'.format(str1)) # 沒處理的輸出結(jié)果
print('*'+'--'*36)
id=int(input('請輸入你想看的序號:'))
return list_url[id-1],listName[id-1]
運(yùn)行結(jié)果:
之后就是選擇我們想看的視頻了,我選擇的是 龍王傳說 也就是上面的序號6,雖然我沒有顯示出它,
點進(jìn)去之后,可以發(fā)現(xiàn),這里有許多集,現(xiàn)在需要的就是這些集數(shù)的鏈接了python的皮卡丘如何寫代碼。
跟上面一樣,按電腦鍵盤F12鍵,來到開發(fā)者模式,可以發(fā)現(xiàn),集數(shù)在這個標(biāo)簽下面;
3.得到這個視頻的下載鏈接的json文件
這樣我們就可以得到這些視頻的播放鏈接了,那怎樣下載呢?我們點擊NetWork下面的XHR刷新一下,可以發(fā)現(xiàn),在這里有一個視頻接口(你懂的),只要將這個接口和剛才我們得到的一個視頻鏈接組合起來,在瀏覽器上打開,就是一個json數(shù)據(jù),如下:
我們只需將這個鏈接得到,并且得到里面使用的.ts文件的下載鏈接即可。
4.下載所有的.ts文件或者給出.mp4文件的下載鏈接
這里我運(yùn)用的多線程下載,不過并不是所有的.ts文件都能播放的,但是合并成.MP4之后,是可以的;如果得到是一個.MP4文件的下載鏈接,我會將它直接輸出,因為一個.mp4文件比較大,運(yùn)用Python爬蟲下載花費(fèi)的時間比較多,所以這還不如直接運(yùn)用瀏覽器下載。
5.合并所有.ts文件
import os
path=input('請輸入需要合并的絕對路徑:')
list_1=[path+'\{}.ts'.format(str(ij)) for ij in sorted([int(str_1[:str_1.find('.')]) for str_1 in os.listdir(path)])]
for str_2 in list_1:
with open(file=str_2,mode='rb') as f:
content=f.read()
with open(file='./龍王傳說_1.mp4',mode='ab') as fp:
fp.write(content)
合并保存的那個.MP4文件的名稱需要我們自己手動修改一下,當(dāng)然讀者也可以改動一個代碼,不過,我覺得我的這個合并還不算好,播放的MP4還是有一些問題的,讀者如果有什么更好的合并方法,可以在下方留言,謝謝!
6.運(yùn)行結(jié)果和最終代碼
運(yùn)行結(jié)果:
運(yùn)用Python爬蟲下載視頻
代碼:
代碼我已經(jīng)上傳到github上了,讀者可以自行到上面查看,鏈接為:
video.py
7.總結(jié)
在這個程序代碼,我沒有用到IP代理,所以當(dāng)運(yùn)行次數(shù)過多的時候,會出現(xiàn)一些問題,不過,開始的時候下載速度是非??斓?。如果讀者覺得我的這篇文章寫的還可以,記得點贊!謝謝!
關(guān)于Python技術(shù)儲備
學(xué)好 Python 不論是就業(yè)還是做副業(yè)賺錢都不錯,但要學(xué)會 Python 還是要有一個學(xué)習(xí)規(guī)劃。最后大家分享一份全套的 Python 學(xué)習(xí)資料,給那些想學(xué)習(xí) Python 的小伙伴們一點幫助!
包括:Python激活碼+安裝包、Python web開發(fā),Python爬蟲,Python數(shù)據(jù)分析,Python自動化測試學(xué)習(xí)等教程。帶你從零基礎(chǔ)系統(tǒng)性的學(xué)好Python!
??[[CSDN大禮包:《python安裝包&全套學(xué)習(xí)資料》免費(fèi)分享]](安全鏈接,放心點擊)文章來源:http://www.zghlxwxcb.cn/news/detail-861147.html
一、Python大禮包
Python所有方向的技術(shù)點做的整理,形成各個領(lǐng)域的知識點匯總,它的用處就在于,你可以按照上面的知識點去找對應(yīng)的學(xué)習(xí)資源,保證自己學(xué)得較為全面。
二、 Python電子書
三、入門學(xué)習(xí)視頻
四、 Python爬蟲秘笈
光學(xué)理論是沒用的,要學(xué)會跟著一起敲,要動手實操,才能將自己的所學(xué)運(yùn)用到實際當(dāng)中去,這時候可以搞點實戰(zhàn)案例來學(xué)習(xí)。
五、 數(shù)據(jù)分析全套資源
六、python副業(yè)兼職與全職路線
上述這份完整版的Python全套學(xué)習(xí)資料已經(jīng)上傳CSDN官方,如果需要可以微信掃描下方CSDN官方認(rèn)證二維碼 即可領(lǐng)取
??[[CSDN大禮包:《python安裝包&全套學(xué)習(xí)資料》免費(fèi)分享]](安全鏈接,放心點擊)
文章來源地址http://www.zghlxwxcb.cn/news/detail-861147.html
原標(biāo)題:運(yùn)用Python爬蟲下載電影、電視劇、動漫
前言:
本程序代碼僅供學(xué)習(xí),切莫用于商業(yè)活動,一經(jīng)被相關(guān)人員發(fā)現(xiàn),本小編概不負(fù)責(zé)!另外,如果有讀者想轉(zhuǎn)載我的這篇文章,請注明轉(zhuǎn)載鏈接!
文章目錄
-
-
- 原標(biāo)題:運(yùn)用Python爬蟲下載電影、電視劇、動漫
-
- 1.完成這個程序代碼需要的Python模塊
- 2. 爬取視頻的鏈接、簡介和名稱
- 3.得到這個視頻的下載鏈接的json文件
- 4.下載所有的.ts文件或者給出.mp4文件的下載鏈接
- 5.合并所有.ts文件
- 6.運(yùn)行結(jié)果和最終代碼
- 7.總結(jié)
-
1.完成這個程序代碼需要的Python模塊
需要的Python模塊有:requests模塊、bs4模塊、threading模塊、sys模塊、urllib模塊、os模塊
下面簡要的介紹一下在這個程序中所使用的Python模塊的作用:
requests模塊:主要用于爬取網(wǎng)頁數(shù)據(jù);
bs4模塊:主要用于解析爬取得到的數(shù)據(jù)信息;
threading模塊:主要用于下載所有的.ts文件,提高下載速度;
sys模塊:如果程序中間出現(xiàn)錯誤,終止整個程序代碼,使用sys.exit()方法;
urllib模塊:用于對用戶輸入的信息進(jìn)行編碼,主要使用urllib.parse.urlencode()方法;
os模塊:用于得到一個文件夾下面所有的文件(或者文件夾)(在這里是得到文件),使用os.listdir()方法。
2. 爬取視頻的鏈接、簡介和名稱
首先,我們要來到這個網(wǎng)址下面:YM影視
在搜索欄上面輸入一部視頻的名稱:小編在這里輸入的是:斗羅大陸,點擊搜索按鈕,來到下面的畫面:
接下倆我們需要得到的內(nèi)容就是這些了,按電腦鍵盤的F12鍵,來到開發(fā)者工具,可以發(fā)現(xiàn),這些內(nèi)容和視頻的鏈接在這個標(biāo)簽下面;
實現(xiàn)代碼:兩個函數(shù)
def get_video_content(): # 得到匹配到的相關(guān)電影(或者電視?。┑拿Q、鏈接、簡介的列表
video=input('請輸入你想看的電影或者電視劇名稱:')
keyword=parse.urlencode({'k':video})[2:] # 對輸入的名稱進(jìn)行編碼
url='http://ymystv.com/seacher-%s.html'%(keyword)
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3756.400 QQBrowser/10.5.4039.400'}
response=requests.get(url=url,headers=headers)
soup=BeautifulSoup(response.text,'lxml')
list_1=soup.select('li.activeclearfix')
# list_1列表里面有的內(nèi)容為 電影名稱(或者電視劇名稱)、鏈接、簡介等
return list_1
def get_video_contents(list_1:list): # 進(jìn)一步處理得到的內(nèi)容(解析)
list_url=[] # 視頻的鏈接
listName=[] # 視頻名稱
for i in range(len(list_1)):
url=list_1[i].select('div.detail>h3>a')[0]['href']
url='http://ymystv.com/'+url[url.rfind('./')+2:]
list_url.append(url)
name=list_1[i].select('div.detail>h3>a')[0].text
listName.append(name)
print('【{}】-{}'.format(i+1,name)) # 電影或者電視劇的名稱
str1=list_1[i].select('div.detail>div.m-deion')[0].text # 電影或者電視劇的簡介
# 對簡介進(jìn)行字符串處理,并按照每行最多50個字符輸出
str1='簡介:'+str1[str1.find('簡 介 :')+6:].strip() # 去空格
for j in range(len(str1)//50+1):
print('{}'.format(str1[j*50:(j+1)*50]))
# print('{}'.format(str1)) # 沒處理的輸出結(jié)果
print('*'+'--'*36)
id=int(input('請輸入你想看的序號:'))
return list_url[id-1],listName[id-1]
運(yùn)行結(jié)果:
之后就是選擇我們想看的視頻了,我選擇的是 龍王傳說 也就是上面的序號6,雖然我沒有顯示出它,
點進(jìn)去之后,可以發(fā)現(xiàn),這里有許多集,現(xiàn)在需要的就是這些集數(shù)的鏈接了python的皮卡丘如何寫代碼。
跟上面一樣,按電腦鍵盤F12鍵,來到開發(fā)者模式,可以發(fā)現(xiàn),集數(shù)在這個標(biāo)簽下面;
3.得到這個視頻的下載鏈接的json文件
這樣我們就可以得到這些視頻的播放鏈接了,那怎樣下載呢?我們點擊NetWork下面的XHR刷新一下,可以發(fā)現(xiàn),在這里有一個視頻接口(你懂的),只要將這個接口和剛才我們得到的一個視頻鏈接組合起來,在瀏覽器上打開,就是一個json數(shù)據(jù),如下:
我們只需將這個鏈接得到,并且得到里面使用的.ts文件的下載鏈接即可。
4.下載所有的.ts文件或者給出.mp4文件的下載鏈接
這里我運(yùn)用的多線程下載,不過并不是所有的.ts文件都能播放的,但是合并成.MP4之后,是可以的;如果得到是一個.MP4文件的下載鏈接,我會將它直接輸出,因為一個.mp4文件比較大,運(yùn)用Python爬蟲下載花費(fèi)的時間比較多,所以這還不如直接運(yùn)用瀏覽器下載。
5.合并所有.ts文件
import os
path=input('請輸入需要合并的絕對路徑:')
list_1=[path+'\{}.ts'.format(str(ij)) for ij in sorted([int(str_1[:str_1.find('.')]) for str_1 in os.listdir(path)])]
for str_2 in list_1:
with open(file=str_2,mode='rb') as f:
content=f.read()
with open(file='./龍王傳說_1.mp4',mode='ab') as fp:
fp.write(content)
合并保存的那個.MP4文件的名稱需要我們自己手動修改一下,當(dāng)然讀者也可以改動一個代碼,不過,我覺得我的這個合并還不算好,播放的MP4還是有一些問題的,讀者如果有什么更好的合并方法,可以在下方留言,謝謝!
6.運(yùn)行結(jié)果和最終代碼
運(yùn)行結(jié)果:
運(yùn)用Python爬蟲下載視頻
代碼:
代碼我已經(jīng)上傳到github上了,讀者可以自行到上面查看,鏈接為:
video.py
7.總結(jié)
在這個程序代碼,我沒有用到IP代理,所以當(dāng)運(yùn)行次數(shù)過多的時候,會出現(xiàn)一些問題,不過,開始的時候下載速度是非??斓摹H绻x者覺得我的這篇文章寫的還可以,記得點贊!謝謝!
關(guān)于Python技術(shù)儲備
學(xué)好 Python 不論是就業(yè)還是做副業(yè)賺錢都不錯,但要學(xué)會 Python 還是要有一個學(xué)習(xí)規(guī)劃。最后大家分享一份全套的 Python 學(xué)習(xí)資料,給那些想學(xué)習(xí) Python 的小伙伴們一點幫助!
包括:Python激活碼+安裝包、Python web開發(fā),Python爬蟲,Python數(shù)據(jù)分析,Python自動化測試學(xué)習(xí)等教程。帶你從零基礎(chǔ)系統(tǒng)性的學(xué)好Python!
??[[CSDN大禮包:《python安裝包&全套學(xué)習(xí)資料》免費(fèi)分享]](安全鏈接,放心點擊)
一、Python大禮包
Python所有方向的技術(shù)點做的整理,形成各個領(lǐng)域的知識點匯總,它的用處就在于,你可以按照上面的知識點去找對應(yīng)的學(xué)習(xí)資源,保證自己學(xué)得較為全面。
二、 Python電子書
三、入門學(xué)習(xí)視頻
四、 Python爬蟲秘笈
光學(xué)理論是沒用的,要學(xué)會跟著一起敲,要動手實操,才能將自己的所學(xué)運(yùn)用到實際當(dāng)中去,這時候可以搞點實戰(zhàn)案例來學(xué)習(xí)。
五、 數(shù)據(jù)分析全套資源
六、python副業(yè)兼職與全職路線
上述這份完整版的Python全套學(xué)習(xí)資料已經(jīng)上傳CSDN官方,如果需要可以微信掃描下方CSDN官方認(rèn)證二維碼 即可領(lǐng)取
??[[CSDN大禮包:《python安裝包&全套學(xué)習(xí)資料》免費(fèi)分享]](安全鏈接,放心點擊)
到了這里,關(guān)于python怎么下載視頻文件,怎么用python下載文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!