王心凌再次爆火,為了防止收費,我連夜用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
  • 概述:本文代碼示例演示瞭如何在WPF中使用LiveCharts庫創建動態條形圖。通過創建數據模型、ViewModel和在XAML中使用`CartesianChart`控制項,你可以輕鬆實現圖表的數據綁定和動態更新。我將通過清晰的步驟指南包括詳細的中文註釋,幫助你快速理解並應用這一功能。 先上效果: 在 ...
  • openGauss(GaussDB ) openGauss是一款全面友好開放,攜手伙伴共同打造的企業級開源關係型資料庫。openGauss採用木蘭寬鬆許可證v2發行,提供面向多核架構的極致性能、全鏈路的業務、數據安全、基於AI的調優和高效運維的能力。openGauss深度融合華為在資料庫領域多年的研 ...
  • openGauss(GaussDB ) openGauss是一款全面友好開放,攜手伙伴共同打造的企業級開源關係型資料庫。openGauss採用木蘭寬鬆許可證v2發行,提供面向多核架構的極致性能、全鏈路的業務、數據安全、基於AI的調優和高效運維的能力。openGauss深度融合華為在資料庫領域多年的研 ...
  • 概述:本示例演示了在WPF應用程式中實現多語言支持的詳細步驟。通過資源字典和數據綁定,以及使用語言管理器類,應用程式能夠在運行時動態切換語言。這種方法使得多語言支持更加靈活,便於維護,同時提供清晰的代碼結構。 在WPF中實現多語言的一種常見方法是使用資源字典和數據綁定。以下是一個詳細的步驟和示例源代 ...
  • 描述(做一個簡單的記錄): 事件(event)的本質是一個委托;(聲明一個事件: public event TestDelegate eventTest;) 委托(delegate)可以理解為一個符合某種簽名的方法類型;比如:TestDelegate委托的返回數據類型為string,參數為 int和 ...
  • 1、AOT適合場景 Aot適合工具類型的項目使用,優點禁止反編 ,第一次啟動快,業務型項目或者反射多的項目不適合用AOT AOT更新記錄: 實實在在經過實踐的AOT ORM 5.1.4.117 +支持AOT 5.1.4.123 +支持CodeFirst和非同步方法 5.1.4.129-preview1 ...
  • 總說周知,UWP 是運行在沙盒裡面的,所有許可權都有嚴格限制,和沙盒外交互也需要特殊的通道,所以從根本杜絕了 UWP 毒瘤的存在。但是實際上 UWP 只是一個應用模型,本身是沒有什麼許可權管理的,許可權管理全靠 App Container 沙盒控制,如果我們脫離了這個沙盒,UWP 就會放飛自我了。那麼有沒... ...
  • 目錄條款17:讓介面容易被正確使用,不易被誤用(Make interfaces easy to use correctly and hard to use incorrectly)限制類型和值規定能做和不能做的事提供行為一致的介面條款19:設計class猶如設計type(Treat class de ...
  • title: 從零開始:Django項目的創建與配置指南 date: 2024/5/2 18:29:33 updated: 2024/5/2 18:29:33 categories: 後端開發 tags: Django WebDev Python ORM Security Deployment Op ...
  • 1、BOM對象 BOM:Broswer object model,即瀏覽器提供我們開發者在javascript用於操作瀏覽器的對象。 1.1、window對象 視窗方法 // BOM Browser object model 瀏覽器對象模型 // js中最大的一個對象.整個瀏覽器視窗出現的所有東西都 ...