《乘風破浪的姐姐3》王心凌一騎絕塵,破收視率,多年後再次全網爆火,某音截止現在差不多3500W粉絲,五月份熱門女星排名,弔打其它所有人,不愧是我女神! 但是這個熱度,感覺她的歌曲和MV,已經離收費越來越近了,於是我連夜用Python把所有MV 和歌曲離線,今天先給大家分享MV的方法。 女神鎮樓! 話 ...
《乘風破浪的姐姐3》王心凌一騎絕塵,破收視率,多年後再次全網爆火,某音截止現在差不多3500W粉絲,五月份熱門女星排名,弔打其它所有人,不愧是我女神!
但是這個熱度,感覺她的歌曲和MV,已經離收費越來越近了,於是我連夜用Python把所有MV 和歌曲離線,今天先給大家分享MV的方法。
女神鎮樓!
話不多說,我們開沖!
步驟分析
一、數據來源分析
1、首先我們確定自己的需求,什麼網站,獲取什麼數據。
以酷我為例,直接打開酷我搜索王心凌,點擊MV。
然後我們通過開發者工具進行抓包分析,分析我們想要的數據來自於哪裡。
直接點擊第一個,然後右鍵點擊檢查,或者直接按F12 打開開發者工具,然後點擊network ,點擊AII ,然後我們看到的是這樣的頁面。
這個時候是沒有數據的,所以我們需要刷新一下。
現在數據就出來了
每個視頻都有自己的編號,我們可以在地址欄看到,這個視頻的編號是89622
我們在開發者工具找到對應的目錄,在network → AII 里第一個就是。
或者直接點左上角的搜索工具,或者直接 Ctrl+f 打開搜索框,輸入序號進行搜索。
第一個就是,或者搜索對應的標題也可以找到相關數據。
然後再這裡找到我們需要的 Cookie 、Referer 、url 等等數據。
代碼展示
本文代碼實現的基本四大步驟
1. 發送請求, 模擬瀏覽器對於url網址發送請求 <專門定義函數來發送請求>
2. 獲取數據, 獲取網頁源代碼
3. 解析數據, 提取我們想要數據內容 <視頻信息以及視頻標題>
4. 保存數據, 把視頻內容保存本地
1、首先導入需要用的模塊
import requests import re
requests 是第三方模塊,需要手動安裝一下。
鍵盤按住 win+r 輸入 cmd 確定,彈出命令提示符視窗,輸入 pip install requests 回車安裝即可。
不會的可以看我置頂文章,有專門介紹,或者加文章底部直接聯繫我。
2、發送請求
模擬瀏覽器對於url網址發送請求 <專門定義函數來發送請求>
headers = { 'Cookie': '_ga=GA1.2.1259590012.1628168238; Hm_lvt_cdb524f42f0ce19b169a8071123a4797=1655356984; _gid=GA1.2.1126000694.1655356984; Hm_lpvt_cdb524f42f0ce19b169a8071123a4797=1655357023; _gat=1; kw_token=XBR2CWDG9IP', 'Host': 'www.kuwo.cn', 'Referer': 'http://www.kuwo.cn/search/list?key=%E9%99%88%E5%A5%95%E8%BF%85', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36', } url = 'http://www.kuwo.cn/mvplay/89622' response = requests.get(url=url, headers=headers) # Python學習交流群 279199867
這些數據的話,都在開發者工具裡面獲取,還記得前面講的步驟嗎?
Cookie、Host 、Referer 、 User-Agent 這些數據找到後,直接複製下來,Referer是防盜鏈,沒看到的話不用寫。
url 在第一個
對應的標簽需要加上引號,把複製下來的內容變成字典格式。
然後通過 response 對網站發送請求
print 列印一下
<Response [200]>: 請求成功
3、獲取數據
html_data = response.text print(html_data) # Python學習交流群 279199867
列印一下看看獲取到的數據
4、解析數據
.*?匹配任意字元 \n 換行除外
video_url = re.findall('src:"(.*?)"}]', html_data)[0] video_url = video_url.replace('\\u002F', '/') video_data = requests.get(url=video_url).content
5、保存數據
with open('愛你.mp4', mode='wb') as f: f.write(video_data)
就可以開始愉快的欣賞女神了!
這裡我只是做了單個獲取,多個爬取和多頁爬取我專門錄了視頻,文中可以獲取。