西瓜視頻視頻顏值區如此驚艷,看我只用30行Python代碼批量下載,保存本地慢慢看

来源:https://www.cnblogs.com/hahaa/archive/2023/02/23/17148436.html
-Advertisement-
Play Games

不知道各位老色批們平常看視頻都是在哪裡看的,有人說某魚舞蹈區,有人說某牙舞蹈區,要我說都不如西瓜shipin,這裡面個個都是人才,說話又好聽,超喜歡這裡的… 好了話不多說,我們直接開始本次的內容。 模塊安裝 本次需要使用的模塊是requests 模塊,沒安裝的小伙伴直接pip安裝即可。 環境 本次使 ...


不知道各位老色批們平常看視頻都是在哪裡看的,有人說某魚舞蹈區,有人說某牙舞蹈區,要我說都不如西瓜shipin,這裡面個個都是人才,說話又好聽,超喜歡這裡的…



好了話不多說,我們直接開始本次的內容。

模塊安裝

本次需要使用的模塊是requests 模塊,沒安裝的小伙伴直接pip安裝即可。

環境

本次使用的環境是Python3.8 ,編輯器是 pycharm 

效果展示


代碼展示

使用的模塊

import requests
import re
import json
import base64

 

發送請求

headers = {
    'cookie': 'support_webp=true; support_avif=true; csrf_session_id=76ceeb6d60b0fcd804de9be6e9693c54; s_v_web_id=verify_lefmeh66_SLWSXhCD_aZkd_4NEx_BgaI_hGUNbdQrHIpi; MONITOR_WEB_ID=56b4a269-39b6-4147-ab7c-9195b568c5e8; _tea_utm_cache_2018=undefined; passport_csrf_token=1a7dd3b7b20888e47197ea1d942e17d5; passport_csrf_token_default=1a7dd3b7b20888e47197ea1d942e17d5; passport_auth_status=121a29188cf1b9ecf308efbe3d0920c5%2C; passport_auth_status_ss=121a29188cf1b9ecf308efbe3d0920c5%2C; sid_guard=d75c6025dd5f4e3d658be37aad5f91b5%7C1677067151%7C3024000%7CWed%2C+29-Mar-2023+11%3A59%3A11+GMT; uid_tt=2f228913ef6379e66da0c3399feaa580; uid_tt_ss=2f228913ef6379e66da0c3399feaa580; sid_tt=d75c6025dd5f4e3d658be37aad5f91b5; sessionid=d75c6025dd5f4e3d658be37aad5f91b5; sessionid_ss=d75c6025dd5f4e3d658be37aad5f91b5; sid_ucp_v1=1.0.0-KGQ4Nzc4MjZiYWI1NWRmYTg5YjQyYmMyZjhmYjY1OWYyYzQzMDUyOGEKFAjo5IrYFxCPh9ifBhgYIAw4CEAFGgJobCIgZDc1YzYwMjVkZDVmNGUzZDY1OGJlMzdhYWQ1ZjkxYjU; ssid_ucp_v1=1.0.0-KGQ4Nzc4MjZiYWI1NWRmYTg5YjQyYmMyZjhmYjY1OWYyYzQzMDUyOGEKFAjo5IrYFxCPh9ifBhgYIAw4CEAFGgJobCIgZDc1YzYwMjVkZDVmNGUzZDY1OGJlMzdhYWQ1ZjkxYjU; __ac_nonce=063f604bf003948a3bad9; __ac_signature=_02B4Z6wo00f01SciCjgAAIDARCjKUZOPEREnAg6AACpBKsMzhMS3tmVlQF6xo9y4lk1.8f3BOblIBNOWtyn2ZteVVEle52JVejsr-gjz52x7fFDNHLhhWPSptiT342agtlzTUnp1SO2LBVZxb3; ixigua-a-s=3; odin_tt=5529039b6eb72ae52e2705d0db550fc06655c83bdbe61914be61c42152989c387a55ad2fa056636bfd1f880a86407f88; tt_scid=ORPDc-M6KS5eOmTgjaUrefaIL0yzO7y.HdHVQAZXahd0wmCZXjYo6rBN9gfC3xYF3559; ttwid=1%7CiWx9zpr2eLSL5pxwfW7PdpTasAnL2Tszm5jFlS0A_ac%7C1677067476%7C2d4446661479733452a7b0217ff6d0c80645ddd3f9f9e85f43547870d43654da; msToken=cSgsxZfj-6sePYrKBxT8cLGTA9Fe4h9FVEyqx2na-t6-TyoXHDL3Q_CQIxRvs9MrWsKeXvTH9OeSdsfiVqYu48Qcw-sEg2hF6sThIHy2b9J1L2mNumIx',
    'referer': 'https://www.ixigua.com/7188507369205301794?logTag=2bb3393d5b417ff0f1fa',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36'
}
url = 'https://www.***.com/7188507369205301794?logTag=2bb3393d5b417ff0f1fa'
response = requests.get(url=url, headers=headers)
# 我這裡只爬取了一個內容,我還錄製了詳細的視頻講解
# 直接在這個扣裙 708525271 拿視頻和代碼。

 

獲取數據

response.encoding = "utf-8"
html_data = response.text

 

解析數據

json_str = re.findall('window._SSR_HYDRATED_DATA=(.*?)</script>', html_data)[0]
# 字典 undefined
json_str = json_str.replace('undefined', 'null')
json_data = json.loads(json_str)
video_list = json_data['anyVideo']['gidInformation']['packerData']['video']['videoResource']['normal']['video_list']
num = len(list(video_list.keys()))
main_url = video_list.get(f'video_{num}').get("main_url")
video_url = base64.b64decode(main_url).decode()
print(video_url)

 

保存視頻/音頻

video_data = requests.get(video_url, headers=headers).content
with open('1.mp4', mode='wb') as f:
    f.write(video_data)
audio_data = requests.get(audio_url).content
with open(f'{title}.mp3', mode='wb') as f:
    f.write(audio_data)
ffmpeg = r'ffmpeg -i ' + title + '.mp4 -i ' + title + '.mp3 -acodec copy -vcodec copy ' + title + '-out.mp4'
subprocess.run(ffmpeg)
os.remove(f'{title}.mp3')
os.remove(f'{title}.mp4')

 

最後

好了,今天的分享就到這裡,喜歡的話記得點贊收藏,咱們下次見!


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

-Advertisement-
Play Games
更多相關文章
  • VL21 根據狀態轉移表實現時序電路 寫一個簡單的Moore狀態機就可以了,太短就懶得寫三段式了。 `timescale 1ns/1ns module seq_circuit( input A , input clk , input rst_n, output wire Y ); reg [1:0] ...
  • 早期的計算工具 計算尺是基本的手動計算器,易於乘除 1614年,蘇格蘭數學家納皮爾發現利用加減計算乘除的方法,依此發明對數,納皮爾在製作第一張對數表的時候,必需進行大量的乘法運算,而一條物理線的距離或區間可表示真數,於是他設計出計算器納皮爾的骨頭協助計算[2]。到1633年,英國牧師奧特雷德利用對數 ...
  • 對於數值模擬而言,無論是商軟或者開源軟體,並行計算都是非常重要的, 作為一名模擬工程師,如果想把自身數值模擬能力提升一個層次,需要對並行計算有很好的理解與應用 openfoam並行通信主要通過Pstream類完成 Pstream類,類如其名,parallel_stream,並行計算時使用的信息流 O ...
  • 本文已收錄至Github,推薦閱讀 👉 Java隨想錄 微信公眾號:Java隨想錄 CSDN: 碼農BookSea 這篇文章來講講限流,在高併發系統中限流是必不可少的,限流可以保證一部分的請求得到正常的響應,是一種自我保護的措施。限流可以保證使用有限的資源提供最大化的服務能力,按照預期流量提供服務 ...
  • 監聽的文件變化的方式有很多,但是比較完美的還是jNotify https://jnotify.sourceforge.net/ 對比一下監控方式的優缺點 | 方式 | 缺點 | | | | |java原生watch | 可能對文件時間獲取有缺毫秒的問題 | |commons-io | 沒有文件重命名 ...
  • Java基礎語法:運算符、包機制、JavaDoc 自增、自減、一元運算符:++、-- 例子:b = a++; -->先給b賦值,a再自增:b=a; a=a+1; b = ++a; -->a先自增,再給b賦值:a=a+1; b=a; 初識Math類 冪運算:Math.pow(a, b):其中a與b都是 ...
  • 教程簡介 適用於初學者的Apache HttpClient教程 - 從基本到高級概念的簡單簡單步驟學習Apache HttpClient,其中包括概述,環境設置,Http獲取請求,Http Post請求,響應處理程式,關閉連接,中止請求,攔截器,用戶身份驗證等示例,使用代理,代理身份驗證,基於表單的 ...
  • C語言線上運行編譯,是一款可線上編程編輯器,在編輯器上輸入C語言代碼,點擊運行,可線上編譯運行C語言,C語言代碼線上運行調試,C語言線上編譯,可快速線上測試您的C語言代碼,線上編譯C語言代碼發現是否存在錯誤,如果代碼測試通過,將會輸出編譯後的結果。 該線上工具由IT寶庫提供,線上工具後端由眾多Doc ...
一周排行
    -Advertisement-
    Play Games
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...
  • 目錄前言PostgreSql安裝測試額外Nuget安裝Person.cs模擬運行Navicate連postgresql解決方案Garnet為什麼要選擇Garnet而不是RedisRedis不再開源Windows版的Redis是由微軟維護的Windows Redis版本老舊,後續可能不再更新Garne ...
  • C#TMS系統代碼-聯表報表學習 領導被裁了之後很快就有人上任了,幾乎是無縫銜接,很難讓我不想到這早就決定好了。我的職責沒有任何變化。感受下來這個系統封裝程度很高,我只要會調用方法就行。這個系統交付之後不會有太多問題,更多應該是做小需求,有大的開發任務應該也是第二期的事,嗯?怎麼感覺我變成運維了?而 ...
  • 我在隨筆《EAV模型(實體-屬性-值)的設計和低代碼的處理方案(1)》中介紹了一些基本的EAV模型設計知識和基於Winform場景下低代碼(或者說無代碼)的一些實現思路,在本篇隨筆中,我們來分析一下這種針對通用業務,且只需定義就能構建業務模塊存儲和界面的解決方案,其中的數據查詢處理的操作。 ...
  • 對某個遠程伺服器啟用和設置NTP服務(Windows系統) 打開註冊表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer 將 Enabled 的值設置為 1,這將啟用NTP伺服器功 ...
  • title: Django信號與擴展:深入理解與實踐 date: 2024/5/15 22:40:52 updated: 2024/5/15 22:40:52 categories: 後端開發 tags: Django 信號 松耦合 觀察者 擴展 安全 性能 第一部分:Django信號基礎 Djan ...
  • 使用xadmin2遇到的問題&解決 環境配置: 使用的模塊版本: 關聯的包 Django 3.2.15 mysqlclient 2.2.4 xadmin 2.0.1 django-crispy-forms >= 1.6.0 django-import-export >= 0.5.1 django-r ...
  • 今天我打算整點兒不一樣的內容,通過之前學習的TransformerMap和LazyMap鏈,想搞點不一樣的,所以我關註了另外一條鏈DefaultedMap鏈,主要調用鏈為: 調用鏈詳細描述: ObjectInputStream.readObject() DefaultedMap.readObject ...
  • 後端應用級開發者該如何擁抱 AI GC?就是在這樣的一個大的浪潮下,我們的傳統的應用級開發者。我們該如何選擇職業或者是如何去快速轉型,跟上這樣的一個行業的一個浪潮? 0 AI金字塔模型 越往上它的整個難度就是職業機會也好,或者說是整個的這個運作也好,它的難度會越大,然後越往下機會就會越多,所以這是一 ...
  • @Autowired是Spring框架提供的註解,@Resource是Java EE 5規範提供的註解。 @Autowired預設按照類型自動裝配,而@Resource預設按照名稱自動裝配。 @Autowired支持@Qualifier註解來指定裝配哪一個具有相同類型的bean,而@Resourc... ...