王心凌再次爆火,為了防止收費,我連夜用Python把她所有的MV離線

来源:https://www.cnblogs.com/hahaa/archive/2022/06/20/16383541.html
-Advertisement-
Play Games

《乘風破浪的姐姐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)

 

 

 

就可以開始愉快的欣賞女神了!

這裡我只是做了單個獲取,多個爬取和多頁爬取我專門錄了視頻,文中可以獲取。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 大佬的理解->Jaca多線程(一)多線程基礎 1、線程狀態關係 2、線程的狀態分析 線程的五種狀態:創建-就緒-運行-阻塞-死亡 1.創建狀態 創建線程對象之後,尚未調用其start方法之前; 2.可運行狀態:就緒和運行 1)當調用start()方法啟動線程之後,如果cup沒有給當前線程分配資源,當 ...
  • 首先澄清一下,我用Python收集這些視頻,絕不是想做別的什麼,真的只是用來做動態壁紙,大家不要誤會!我不是那樣的人~ 這樣的不過份吧 😻 閱讀本文你需要準備 1、環境 Python pycharm # 我還給大家準備了大量的學習資料和教程,都在這個群了 # Python學習交流群 2791998 ...
  • Hi,我是Mic 一個工作了4年的粉絲,在面試的時候遇到一個這樣的問題。 “介紹一下Spring IOC的工作流程” 他說回答得不是很好,希望我能幫他梳理一下。 關於這個問題,我們來看看普通人和高手的回答。 普通人: 嗯。。。。。。。。 高手: 好的,這個問題我會從幾個方面來回答。 IOC是什麼 B ...
  • 前言 大家好,歡迎來到 Crossin的編程教室 ! 今天給大家分享的這個案例是用 Python+OpenCV 實現了自動掃雷,並突破了人類的世界記錄。(當然 這不算哈) 咱們廢話不多說,先看成果~ 中級 - 0.74秒 3BV/S=60.81 相信許多人很早就知道有掃雷這麼一款經典的游(顯卡測試) ...
  • 此問題是無法做到100%場景一致性的,只能做到基本一致或者最終一致性。 推薦使用的方案 延時雙刪 原理:先進行緩存清除,再執行update,最後(延遲N秒)再執行緩存清除。(延遲N秒)的時間要大於一次寫操作的時間。 一般執行流程: 服務節點刪除 redis 主庫數據。 服務節點修改 mysql 主庫 ...
  • 大佬的理解->Java多線程(一)多線程基礎 大佬的理解->Java多線程(二)常用的實現多線程的兩種方式 1、繼承Thread類 ​ 繼承Thread必須重寫run方法,(具體業務執行方法,需要執行的業務方法,定義在此方法中),註意此方法是線程啟動後線程自動調用的; 案例 public class ...
  • 前言 還有多少人不會python的控制結構,在評論區告訴我,讓我一個個點名提問。今天,就教會你python的控制結構… 分行與縮進 分行 •一條語句占用一行 •過長的語句可以占用多行,使用\或()控制換行 •[]、{}、()可以直接跨越多行,在列表、字典、元組中需要換行的時候也可以不用添加續行符 a ...
  • 3 Skywalking源碼導入 接上文,已經學習了Skywalking的應用,接下來我們將剖析Skywalking源碼,深度學習Skywalking Agent。 3.1 源碼環境搭建 當前最新版本是8.3.0,我們首先找到8.3.0的版本,然後下載並導入到IDEA,下載地址 https://gi ...
一周排行
    -Advertisement-
    Play Games
  • JWT(JSON Web Token)是一種用於在網路應用之間傳遞信息的開放標準(RFC 7519)。它使用 JSON 對象在安全可靠的方式下傳遞信息,通常用於身份驗證和信息交換。 在Web API中,JWT通常用於對用戶進行身份驗證和授權。當用戶登錄成功後,伺服器會生成一個Token並返回給客戶端 ...
  • 老周在幾個世紀前曾寫過樹莓派相關的 iOT 水文,之所以沒寫 Nano Framework 相關的內容,是因為那時候這貨還不成熟,可玩性不高。不過,這貨現在已經相對完善,老周都把它用在項目上了——第一個是自製的智能插座,這個某寶上50多塊可以買到,搜“esp32 插座”就能找到。一種是 86 型盒子 ...
  • 引言 上一篇我們創建了一個Sample.Api項目和Sample.Repository,並且帶大家熟悉了一下Moq的概念,這一章我們來實戰一下在xUnit項目使用依賴註入。 Xunit.DependencyInjection Xunit.DependencyInjection 是一個用於 xUnit ...
  • 在 Avalonia 中,樣式是定義控制項外觀的一種方式,而控制項主題則是一組樣式和資源,用於定義應用程式的整體外觀和感覺。本文將深入探討這些概念,並提供示例代碼以幫助您更好地理解它們。 樣式是什麼? 樣式是一組屬性,用於定義控制項的外觀。它們可以包括背景色、邊框、字體樣式等。在 Avalonia 中,樣 ...
  • 在處理大型Excel工作簿時,有時候我們需要在工作表中凍結窗格,這樣可以在滾動查看數據的同時保持某些行或列固定不動。凍結窗格可以幫助我們更容易地導航和理解複雜的數據集。相反,當你不需要凍結窗格時,你可能需要解凍它們以獲得完整的視野。 下麵將介紹如何使用免費.NET庫通過C#實現凍結Excel視窗以鎖 ...
  • .NET 部署 IIS 的簡單步驟一: 下載 dotnet-hosting-x.y.z-win.exe ,下載地址:.NET Downloads (Linux, macOS, and Windows) (microsoft.com) .NET 部署 IIS 的簡單步驟二: 選擇對應的版本,點擊進入詳 ...
  • 拓展閱讀 資料庫設計工具-08-概覽 資料庫設計工具-08-powerdesigner 資料庫設計工具-09-mysql workbench 資料庫設計工具-10-dbdesign 資料庫設計工具-11-dbeaver 資料庫設計工具-12-pgmodeler 資料庫設計工具-13-erdplus ...
  • 初識STL STL,(Standard Template Library),即"標準模板庫",由惠普實驗室開發,STL中提供了非常多對信息學奧賽很有用的東西。 vector vetor是STL中的一個容器,可以看作一個不定長的數組,其基本形式為: vector<數據類型> 名字; 如: vector ...
  • 前言 最近自己做了個 Falsk 小項目,在部署上伺服器的時候,發現雖然不乏相關教程,但大多都是將自己項目代碼複製出來,不講核心邏輯,不太簡潔,於是將自己部署的經驗寫成內容分享出來。 uWSGI 簡介 uWSGI: 一種實現了多種協議(包括 uwsgi、http)並能提供伺服器搭建功能的 Pytho ...
  • 1 文本Embedding 將整個文本轉化為實數向量的技術。 Embedding優點是可將離散的詞語或句子轉化為連續的向量,就可用數學方法來處理詞語或句子,捕捉到文本的語義信息,文本和文本的關係信息。 ◉ 優質的Embedding通常會讓語義相似的文本在空間中彼此接近 ◉ 優質的Embedding相 ...