python 爬蟲 下載視頻

測試 OK
II 在開發者工具里面 直接搜索m3u8 可以直接找相對應連接地址繼續分析 這個m3u8 url地址是從哪里過來的 在什么地方有
III 我們想要視頻數據 <m3u8連接> 在 網頁源代碼里面有獲取整個視頻內容 --》分為N個視頻片段《ts文件》-->在m3u8連接里面--> 視頻播放詳情頁面源代碼里面二、代碼實現步驟1.發送請求, 模擬瀏覽器對于視頻播放詳情頁url發送請示https://www.acfun.cn/v/ac473438502.獲取數據,獲取服務器返回響應數據開發者工具里 response3.解析數據,提取我們想要的數據內容m3u8連接視覺標題4.發送請求。模擬瀏覽男友對于,m3u8連接 發送請求由第三步提取出來連接發送請求5.獲取數據,獲取服務器返回響應數據開發者工具里 response 對應所有ts文件連接6.解析數據,提取我們想要的數據內容所有ts文件連接7.保存數據,把所有視頻片段內容保存下載,并且合成一個完整視頻內容8.多頁數據采集
#導入數據請求模塊 要安裝 在cmd里面 pip install requests
import requests
# 導入正則模塊-->內置模塊,不要安裝
import re
# 導入json 模塊 -->內置模塊,不要安裝
import json
#導入格式化輸出模塊 -->內置模塊,不要安裝
from pprint import pprint
#確定請求連接 <視頻詳情頁>
reqUrl = "https://www.acfun.cn/v/ac47343850"
# 模擬請求頭
# Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36
reqHeaders = {# 用戶代理 表示瀏覽"user-agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36"
}
#發送請求
response = requests.get(url=reqUrl, headers=reqHeaders)
#<Response [200]>
#print(response)
#2.獲取數據,獲取服務器返回響應數據(網頁源代碼)
# 開發者工具里 response
#    response.text 獲取響應文本數據<網頁源代碼>
#print(response.text)#3.解析數據,提取我們想要的數據內容
#  -m3u8鏈接
#  -視頻標題
# 調用re模塊里面的findall方法,去找到所有我們想要的數據內容
# re.findall('找什么數據','在什么地方找');
#title = re.findall('<title>"(.*?)"</title>',response.text);
# findall 返回的是一個列表
title = re.findall(r'<title >(.*?)</title>', response.text)[0]  # 非貪婪匹配避免截斷:ml-citation{ref="3" data="citationList"}
title = title.replace('!','').replace('','').replace('-','').replace('AcFun彈幕視頻網','').replace('認真你就輸啦','')
#print("title: "+title)html_dta = re.findall('window.pageInfo = window.videoInfo = (.*?);',response.text)[0]
#print(html_dta);
# 轉數據類型: 方便取值 --> 字典數據類型 鍵值對取值
json_data = json.loads(html_dta)
#print(json_data)#pprint(json_data)
#pprint(json_data['currentVideoInfo']['ksPlayJson'])
json_Str = json_data['currentVideoInfo']['ksPlayJson']
#print(json_Str)
#pprint(json.loads(json_Str))
m3u8_url = json.loads(json_Str)['adaptationSet'][0]['representation'][0]['backupUrl'][0]
#print(m3u8_url)
#print(json_data)
#pprint(json.loads(json_data))"""
4.發送請求。模擬瀏覽男友對于,m3u8連接 發送請求由第三步提取出來連接發送請求
5.獲取數據,獲取服務器返回響應數據開發者工具里 response 對應所有ts文件連接
"""
m3u8_data = requests.get(url=m3u8_url,headers=reqHeaders).text
#print(m3u8_data)# 提取我們想要的ts鏈接
# #EXTINF:5.000000,
m3u8_data = re.sub('#E.*','',m3u8_data).split()
#print(m3u8_data)
# for遍歷,提取我們想要ts文件鏈接,把列表里面元素 一個一個提取出來count = len(m3u8_data)
print(count)
index = 0
for ts in m3u8_data:#print(ts)# https://ali-safety-video.acfun.cn/mediacloud/acfun/acfun_video/ts_url = 'https://ali-safety-video.acfun.cn/mediacloud/acfun/acfun_video/' + ts#print(ts_url)#7. 保存數據 --> 需要發送請求 + 獲取數據, content 保存二進制數據,保存成文件時使用ts_content = requests.get(url=ts_url,headers=reqHeaders).contentwith open('video\\【溫】最有活力的一集.mp4',mode='ab') as f:# 寫入數據f.write(ts_content)print("index:"+ str(index) +","+ts_url)index = index + 1

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/912298.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/912298.shtml
英文地址,請注明出處:http://en.pswp.cn/news/912298.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

希爾伯特空間:無窮維度的幾何世界

希爾伯特空間&#xff1a;無窮維度的幾何世界 從量子物理到信號處理&#xff0c;希爾伯特空間為現代科學與工程提供了強大的數學框架 引言&#xff1a;無限維度的舞臺 在數學和物理學的廣闊領域中&#xff0c;希爾伯特空間扮演著至關重要的角色。這個完備的內積空間不僅推廣了…

Transformer結構與代碼實現詳解

參考&#xff1a; Transformer模型詳解&#xff08;圖解最完整版&#xff09; - 知乎https://zhuanlan.zhihu.com/p/338817680GitHub - liaoyanqing666/transformer_pytorch: 完整的原版transformer程序&#xff0c;complete origin transformer programhttps://github.com/lia…

Adobe InDesign 2025

Adobe InDesign 2025(ID2025)桌面出版軟件和在線發布工具,報刊雜志印刷排版設計軟件。Adobe InDesign中文版主要用于傳單設計,海報設計,明信片設計,電子書設計,排版,手冊設計,數字雜志,iPad應用程序和在線交互文檔。它是首款支持Unicode文本處理的主流DTP應用程序,率先使用新型…

Linux下獲取指定時間內某個進程的平均CPU使用率

一、引言 通過pidstat工具可以測量某個進程在兩個時間點之間的平均CPU利用率。 二、pidstat工具的安裝 pidstat屬于sysstat套件的一部分。以Ubuntu系統為例&#xff0c;執行下面命令下載安裝sysstat套件&#xff1a; apt-get install sysstat 執行完后&#xff0c;終端執行p…

1.4 蜂鳥E203處理器NICE接口詳解

一、NICE接口的概念 NICE&#xff08;Nuclei Instruction Co-unit Extension&#xff09;接口是蜂鳥E203處理器中用于擴展自定義指令的協處理器接口&#xff0c;基于RISC-V標準協處理器擴展機制設計。它允許用戶在不修改處理器核流水線的情況下&#xff0c;通過外部硬件加速特…

Oracle 遞歸 + Decode + 分組函數實現復雜樹形統計進階(第二課)

在上篇文章基礎上&#xff0c;我們進一步解決層級數據遞歸匯總問題 —— 讓上級部門的統計結果自動包含所有下級部門數據&#xff08;含多級子部門&#xff09;&#xff0c;并新增請假天數大于 3 天的統計維度。通過遞歸 CTE、DECODE函數與分組函數的深度結合&#xff0c;實現真…

MySQL 數據類型全面指南:詳細說明與關鍵注意事項

MySQL 數據類型全面指南&#xff1a;詳細說明與關鍵注意事項 MySQL 提供了豐富的數據類型&#xff0c;合理選擇對數據庫性能、存儲效率和數據準確性至關重要。以下是所有數據類型的詳細說明及使用注意事項&#xff1a; 一、數值類型 整數類型 類型字節有符號范圍無符號范圍說…

leetcode437-路徑總和III

leetcode 437 思路 利用前綴和hash map解答 前綴和在這里的含義是&#xff1a;從根節點到當前節點的路徑上所有節點值的總和 我們使用一個 Map 數據結構來記錄這些前綴和及其出現的次數 具體思路如下&#xff1a; 初始化&#xff1a;創建一個 Map &#xff0c;并將前綴和 …

UI前端與數字孿生融合探索新領域:智慧家居的可視化設計與實現

hello寶子們...我們是艾斯視覺擅長ui設計、前端開發、數字孿生、大數據、三維建模、三維動畫10年經驗!希望我的分享能幫助到您!如需幫助可以評論關注私信我們一起探討!致敬感謝感恩! 一、引言&#xff1a;智慧家居的數字化轉型浪潮 在物聯網與人工智能技術的推動下&#xff0c…

數據結構知識點總結--緒論

1.1 數據結構的基本概念 1.1.1 基本概念和術語 主要涉及概念有&#xff1a; 數據、數據元素、數據對象、數據類型、數據結構 #mermaid-svg-uyyvX6J6ofC9rFSB {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-uyyvX6…

pip install mathutils 安裝 Blender 的 mathutils 模塊時,編譯失敗了

你遇到的問題是因為你試圖通過 pip install mathutils 安裝 Blender 的 mathutils 模塊時&#xff0c;編譯失敗了&#xff0c;主要原因是&#xff1a; 2018年 的老版本也不行 pip install mathutils2.79 ? 報錯核心總結&#xff1a; 缺失頭文件 BLI_path_util.h&#xff1a;…

編譯安裝交叉工具鏈 riscv-gnu-toolchain

參考鏈接&#xff1a; https://zhuanlan.zhihu.com/p/258394849 1&#xff0c;下載源碼 git clone https://gitee.com/mirrors/riscv-gnu-toolchain 2&#xff0c;進入目錄 cd riscv-gnu-toolchain 3&#xff0c;去掉qemu git rm qemu 4&#xff0c;初始化 git submodule…

復制 生成二維碼

一、安裝插件 1、復制 npm install -g copy-to-clipboard import copy from copy-to-clipboard; 2、生成二維碼 & 下載 npm install -g qrcode import QRCode from qrcode.react; 二、功能&#xff1a;生成二維碼 & 下載 效果圖 1、常規使用&#xff08;下載圖片模糊…

自由職業的經營視角

“領導力的核心是幫助他人看到自己看不到的東西。” — 彼得圣吉 最近與一些自由職業者的交流中&#xff0c;發現很多專業人士都會從專業視角來做交流&#xff0c;這也讓我更加理解我們海外戰略顧問莊老師在每月輔導時的提醒——經營者視角和專業人士視角的不同。這不僅讓大家獲…

MR30分布式 IO在物流堆垛機的應用

在現代物流行業蓬勃發展的浪潮中&#xff0c;物流堆垛機作為自動化倉儲系統的核心設備&#xff0c;承擔著貨物的高效存取與搬運任務。它憑借自動化操作、高精度定位等優勢&#xff0c;極大地提升了倉儲空間利用率和貨物周轉效率。然而&#xff0c;隨著物流行業的高速發展&#…

告別固定密鑰!在單一賬戶下用 Cognito 實現 AWS CLI 的 MFA 單點登錄

大家好&#xff0c;很多朋友&#xff0c;特別是通過合作伙伴或服務商使用 AWS 的同學&#xff0c;可能會發現自己的 IAM Identity Center 功能受限&#xff0c;無法像在組織管理賬戶里那樣輕松配置 CLI 的 SSO (aws configure sso)。那么&#xff0c;我們就要放棄治療&#xff…

未來機器視覺軟件將更注重成本控制,邊緣性能,魯棒性、多平臺支持、模塊優化與性能提升,最新版本opencv-4.11.0更新了什么

OpenCV 4.11.0 作為 4.10.0 的后續版本,雖然沒有在提供的搜索結果中直接列出詳細更新內容,但結合 OpenCV 4.10.0 的重大改進方向(發布于 2024 年 6 月),可以合理推斷 4.11.0 版本可能延續了對多平臺支持、模塊優化和性能提升的強化。以下是基于 OpenCV 近期更新模式的推測…

小程序入門:數據請求全解析

在微信小程序開發中&#xff0c;數據請求是實現豐富功能的關鍵環節。本文將帶你深入了解小程序數據請求的相關知識&#xff0c;包括請求限制、配置方法以及不同請求方式的實現&#xff0c;還會介紹如何在頁面加載時自動請求數據&#xff0c;同時附上詳細代碼示例&#xff0c;讓…

開源版gpt4o 多模態MiniGPT-4 實現原理詳解

MiniGPT-4是開源的GPT-4的平民版。本文用帶你快速掌握多模態大模型MiniGPT-4的模型架構、訓練秘訣、實戰亮點與改進方向。 1 模型架構全景&#xff1a;三層協同 &#x1f4ca; 模型底部實際輸入圖像&#xff0c;經 ViT Q-Former 編碼。藍色方塊 (視覺編碼器)&#xff1a;左側…

Flutter基礎(控制器)

第1步&#xff1a;找個遙控器&#xff08;創建控制器&#xff09;? // 就像買新遙控器要裝電池 TextEditingController myController TextEditingController(); ??第2步&#xff1a;連上你的玩具&#xff08;綁定到組件&#xff09;?? TextField(controller: myContro…