国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用Python采集某網(wǎng)站視頻,實(shí)現(xiàn)音視頻自動(dòng)合成!

這篇具有很好參考價(jià)值的文章主要介紹了使用Python采集某網(wǎng)站視頻,實(shí)現(xiàn)音視頻自動(dòng)合成!。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

?

使用Python采集某網(wǎng)站視頻,實(shí)現(xiàn)音視頻自動(dòng)合成!

一、準(zhǔn)備一下

開發(fā)環(huán)境

Pycharm
python 3.8
ffmpeg

模塊的使用

requests
re
subprocess

二、基本思路流程

1、明確需求

采集下破站視頻數(shù)據(jù)
通過開發(fā)者工具進(jìn)行抓包分析,分析破站視頻數(shù)據(jù)的來源。

開發(fā)者工具的使用

打開方式:

  1. 鼠標(biāo)右鍵點(diǎn)擊檢查選擇Network
  2. F12
  3. ctrl + shift + i

使用Python采集某網(wǎng)站視頻,實(shí)現(xiàn)音視頻自動(dòng)合成!

想要開發(fā)者工具中有數(shù)據(jù)加載, 需要 刷新網(wǎng)頁。

通過元素(Element)面板,我們能查看到想抓取頁面渲染內(nèi)容所在的標(biāo)簽、使用什么 CSS 屬性(例如:class=“middle”)等內(nèi)容。例如我想要抓取我知乎主頁中的動(dòng)態(tài)標(biāo)題,在網(wǎng)頁頁面所在處上右擊鼠標(biāo),選擇“檢查”,可進(jìn)入 Chrome 開發(fā)者工具的元素面板。

網(wǎng)絡(luò)(Network)面板記錄頁面上每個(gè)網(wǎng)絡(luò)操作的相關(guān)信息,包括詳細(xì)的耗時(shí)數(shù)據(jù)、HTTP 請求與響應(yīng)標(biāo)頭和 Cookie,等等。這就是我們通常說的抓包。

Requests Table參數(shù):

all:所有請求數(shù)據(jù)(圖片、視頻、音頻、js代碼、css代碼)

XHR:XMLHttpRequest 的縮寫,是ajax技術(shù)的核心,動(dòng)態(tài)加載完成經(jīng)常分析的一個(gè)內(nèi)容

CSS: css樣式文件

JS:JavaScript文件,js解密是常分析的一個(gè)頁面

Img: Images 圖片文件

Font: 字體文件(字體反扒)

DOC : Document,文檔內(nèi)容

WS: WebSocket,web端的socket數(shù)據(jù)通信,一般用于一些實(shí)時(shí)更新的數(shù)據(jù)

Requests詳情:

請求頭

Headers 是顯示 HTTP 請求的 Headers,我們通過這個(gè)能看到請求的方式,以及攜帶的請求參數(shù)等。

  • General

    Request url :實(shí)際請求的網(wǎng)址

    Request Method: 請求方法

    Status Code: 狀態(tài)碼,成功時(shí)為 200

  • Response Headers

    服務(wù)器返回時(shí)設(shè)置的一些數(shù)據(jù),例如服務(wù)器更新的cookie數(shù)據(jù)最新是在這里出現(xiàn)修改。

  • Requests Headers

    請求體,請求不到數(shù)據(jù)的原因一般出在這里,反扒也是反扒請求體里面的數(shù)據(jù)。

    Accept:服務(wù)器接收的數(shù)據(jù)格式(一般忽略)

    Accept-Encoding: 服務(wù)器接收的編碼(一般忽略)

    Accept-Language: 服務(wù)器接收的語言(一般忽略)

    Connection: 保持連接(一般忽略)

    Cookies: cookies信息,是身份信息,爬取VIP資源是需要攜帶身份信息。

    Host: 請求的主機(jī)地址

    User-Agent: 用戶身份代理,服務(wù)器根據(jù)這個(gè)判斷用戶的大概信息。

    Sec-xxx-xxx: 其他信息,可能沒用,可能是反扒,具體情況具體分析。

預(yù)覽

Preview 是請求結(jié)果的預(yù)覽。一般用來查看請求到的圖片,對于抓取圖片網(wǎng)站比較給力。

響應(yīng)體

Response 是請求返回的結(jié)果。一般的內(nèi)容是整個(gè)網(wǎng)站的源代碼。如果該請求是異步請求,返回的結(jié)果內(nèi)容一般是 Json 文本數(shù)據(jù)。

此數(shù)據(jù)與瀏覽器展示的網(wǎng)頁可能不一致,因?yàn)闉g覽器是動(dòng)態(tài)加載的。

2、數(shù)據(jù)來源分析

使用Python采集某網(wǎng)站視頻,實(shí)現(xiàn)音視頻自動(dòng)合成!

所以可以根據(jù)里面的參數(shù)在開發(fā)者工具里面進(jìn)行搜索

使用Python采集某網(wǎng)站視頻,實(shí)現(xiàn)音視頻自動(dòng)合成!
通過結(jié)果可得?playurl?就是我們想要的數(shù)據(jù)

使用Python采集某網(wǎng)站視頻,實(shí)現(xiàn)音視頻自動(dòng)合成!
既然我們知道了, 數(shù)據(jù)的來源, 接下來就要分析, 這個(gè)數(shù)據(jù)包url中有那些參數(shù)是我們需要去找尋分析的…

因?yàn)槲覀冞@個(gè)只是找到一個(gè)B站視頻的數(shù)據(jù), 如果想要獲取多個(gè)那肯定是需要分析的。

使用Python采集某網(wǎng)站視頻,實(shí)現(xiàn)音視頻自動(dòng)合成!
使用Python采集某網(wǎng)站視頻,實(shí)現(xiàn)音視頻自動(dòng)合成!
通過請求參數(shù)對比, 我們現(xiàn)在所需要找的參數(shù)就是?cid?,?bvid?,?session

同樣可以直接在開發(fā)者工具里面搜索 這些參數(shù)來源?bvid?就是B站視頻對應(yīng)的ID

**cid / session 在網(wǎng)頁源代碼里面就可以獲取的 **

使用Python采集某網(wǎng)站視頻,實(shí)現(xiàn)音視頻自動(dòng)合成!

3、總結(jié)

通過以上分析可得:

  1. 首先獲取 cid session 這兩個(gè)參數(shù), 順帶在獲取視頻標(biāo)題
  2. 把cid session 以及 bv號 傳入數(shù)據(jù)包內(nèi)
  3. 最后再獲取 音頻數(shù)據(jù) 以及 視頻畫面數(shù)據(jù)

三、代碼實(shí)現(xiàn)步驟

可以發(fā)現(xiàn), 關(guān)于python爬蟲的流程思路分析, 所涉及的知識(shí)點(diǎn)還是比較多的。

  1. 發(fā)送請求, 對于視頻詳情頁url地址發(fā)送請求
  2. 獲取數(shù)據(jù), 獲取響應(yīng)體的文本數(shù)據(jù) response.text
  3. 解析數(shù)據(jù), 通過正則表達(dá)式提取數(shù)據(jù)內(nèi)容: 視頻標(biāo)題 cid session
  4. 發(fā)送請求, 對于視頻內(nèi)容數(shù)據(jù)包url發(fā)送請求
  5. 獲取數(shù)據(jù), 獲取響應(yīng)體的json字典數(shù)據(jù) response.json()
  6. 解析數(shù)據(jù), 通過字典鍵值對取值, 提取音頻url 視頻url
  7. 保存數(shù)據(jù), 對于音頻url 視頻url發(fā)送請求 獲取響應(yīng)體二進(jìn)制數(shù)據(jù) response.content
  8. 合成數(shù)據(jù), 把音頻內(nèi)容以及視頻畫面內(nèi)容合成為一個(gè)完整的mp4文件

四、代碼實(shí)現(xiàn)

1、發(fā)送請求

import requests
import re
import subprocess

headers = {
    'referer': 'https://www.bilibili.com',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36',
}


def get_response(html_url):
    """發(fā)送請求"""
# 完整源碼+視頻講解 都放在這個(gè)扣裙了 708525271
    response = requests.get(url=html_url, headers=headers)
    return response

?

2、獲取視頻標(biāo)題/cid/session

def get_video_info(html_url):
    """獲取 cid session 視頻標(biāo)題"""
    response = get_response(html_url)
    cid = re.findall('"cid":(\d+),', response.text)[0]
    session = re.findall('"session":"(.*?)"', response.text)[0]
    title = re.findall('<h1 title="(.*?)" class="video-title">', response.text)[0].replace(' ', '')
    video_info = [cid, session, title]
    return video_info

?

3、獲取音頻url/視頻url

def get_video_content(cid, session, bvid):
    """獲取音頻內(nèi)容以及視頻內(nèi)容"""
    index_url = 'https://api.bilibili.com/x/player/playurl'
    data = {
        'cid': cid,
        'qn': '80',
        'type': '',
        'otype': 'json',
        'fourk': '1',
        'bvid': bvid,
        'fnver': '0',
        'fnval': '976',
        'session': session,
    }
    json_data = requests.get(url=index_url, params=data, headers=headers).json()
    audio_url = json_data['data']['dash']['audio'][0]['baseUrl']
    video_url = json_data['data']['dash']['video'][0]['baseUrl']
    video_content = [audio_url, video_url]
    return video_content

?

4、保存數(shù)據(jù)

def save(name, audio_url, video_url):
    """保存數(shù)據(jù)"""
    audio_content = get_response(audio_url).content
    video_content = get_response(video_url).content
    with open(name + '.mp3', mode='wb') as a:
        a.write(audio_content)
    with open(name + '.mp4', mode='wb') as v:
        v.write(video_content)
    print(name, '保存成功')

?

5、合成視頻

def merge_data(video_name):
    """數(shù)據(jù)的合并"""
    print('視頻合成開始:', video_name)
    cmd = f"ffmpeg -i {video_name}.mp4 -i {video_name}.mp3 -c:v copy -c:a aac -strict experimental {video_name}output.mp4"
    # print(cmd)
    subprocess.run(cmd, shell=True)
    print('視頻合成結(jié)束:', video_name)

?

好了,今天的分享就到這結(jié)束了,咱們下次見!文章來源地址http://www.zghlxwxcb.cn/news/detail-457401.html

到了這里,關(guān)于使用Python采集某網(wǎng)站視頻,實(shí)現(xiàn)音視頻自動(dòng)合成!的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • python moviepy 自動(dòng)化音視頻處理實(shí)踐

    MoviePy是一個(gè)用于視頻編輯的Python庫。它提供了一種簡單且直觀的方式來處理視頻文件,包括剪輯、合并、裁剪、添加文本、添加音頻等操作。使用MoviePy,你可以通過編寫Python代碼來創(chuàng)建和編輯視頻,而無需使用復(fù)雜的視頻編輯軟件。 MoviePy建立在另一個(gè)庫Pygame和軟件MoviePy

    2024年02月14日
    瀏覽(28)
  • 瀏覽器自動(dòng)播放音視頻-前端實(shí)現(xiàn)方案

    瀏覽器自動(dòng)播放音視頻-前端實(shí)現(xiàn)方案

    目錄 前言 瀏覽器自動(dòng)播放策略 策略詳情: 實(shí)現(xiàn)方案? 方案1: 互動(dòng)后播放 方案2: 互動(dòng)后出聲 總結(jié) 在開發(fā)中可能有遇到這樣的需求,當(dāng)用戶打開頁面后,需要自動(dòng)播放視頻或音頻,按理說那就打開頁面時(shí)play()一下不就搞定了嗎,但實(shí)際情況很明顯不是,不然也沒得這篇文

    2024年02月04日
    瀏覽(24)
  • 抖音視頻批量提取采集軟件|視頻無水印下載工具

    抖音視頻批量提取采集軟件|視頻無水印下載工具

    高效批量提取抖音視頻,輕松應(yīng)對營銷需求! 在抖音視頻營銷中,如何高效地獲取大量視頻資源是許多市場人員面臨的挑戰(zhàn)。針對這一需求,我們開發(fā)了一款功能強(qiáng)大的抖音視頻批量提取采集軟件,幫助您快速、方便地獲取所需視頻,滿足您的營銷需求。 簡介: 我們的軟件

    2024年04月14日
    瀏覽(25)
  • 音視頻開發(fā):音頻編碼原理+采集+編碼實(shí)戰(zhàn)

    音視頻開發(fā):音頻編碼原理+采集+編碼實(shí)戰(zhàn)

    消除冗余信息,壓縮量最大,也叫有損壓縮 剔除人耳聽覺范圍外的音頻信號20Hz以下和20000Hz以上; 去除被掩蔽的音頻信號,信號的遮蔽可以分為頻域遮蔽和時(shí)域遮蔽; 頻域遮蔽效應(yīng) 屏蔽70分貝以下,20HZ以下,20000HZ以上 屏蔽分貝小,頻率小的聲音 兩個(gè)頻率相近發(fā)出的聲音,

    2024年02月05日
    瀏覽(19)
  • 網(wǎng)站在線客服系統(tǒng)實(shí)時(shí)語音視頻聊天實(shí)戰(zhàn)開發(fā),利用peerjs vue.js實(shí)現(xiàn)webRTC網(wǎng)頁音視頻客服系統(tǒng)...

    網(wǎng)站在線客服系統(tǒng)實(shí)時(shí)語音視頻聊天實(shí)戰(zhàn)開發(fā),利用peerjs vue.js實(shí)現(xiàn)webRTC網(wǎng)頁音視頻客服系統(tǒng)...

    webRTC機(jī)制和peerjs庫的介紹在其他博客中已經(jīng)有了很多介紹,這里我直接搬運(yùn)過來 WebRTC(Web Real-Time Communication)即:網(wǎng)頁即時(shí)通信。 簡單點(diǎn)講,它可以實(shí)現(xiàn)瀏覽器網(wǎng)頁與網(wǎng)頁之間的音視頻實(shí)時(shí)通信(或傳輸其它任何數(shù)據(jù)),目前主流瀏覽器都支持該API,WebRTC現(xiàn)在已經(jīng)納入W3C標(biāo)準(zhǔn)。

    2024年02月04日
    瀏覽(28)
  • 抖音視頻無水印采集拓客軟件|視頻批量下載提取工具

    抖音視頻無水印采集拓客軟件|視頻批量下載提取工具

    抖音視頻無水印批量采集拓客軟件助力高效營銷! ? ? ? ? 隨著抖音平臺(tái)的崛起,視頻已成為各行各業(yè)進(jìn)行營銷的重要工具。但是,傳統(tǒng)的視頻下載方式往往效率低下,無法滿足快速獲取大量視頻的需求。針對這一問題,我們開發(fā)了一款視頻無水印批量采集拓客軟件。 工具

    2024年04月14日
    瀏覽(24)
  • 抖音視頻評論采集軟件|抖音數(shù)據(jù)抓取工具

    抖音視頻評論采集軟件|抖音數(shù)據(jù)抓取工具

    ? ? ? ? 抖音視頻評論采集軟件是一款基于C#開發(fā)的高效、便捷的工具,旨在為用戶提供全面的數(shù)據(jù)采集和分析服務(wù)。該軟件不僅支持通過進(jìn)行搜索抓取,還能夠通過分享鏈接進(jìn)行單個(gè)視頻的抓取和下載,讓用戶輕松獲取抖音視頻評論數(shù)據(jù)。 ? ? ? ? 其中,批量視頻提

    2024年04月11日
    瀏覽(21)
  • Qt音視頻開發(fā)40-ffmpeg采集桌面并錄制

    之前用ffmpeg打通了各種視頻文件和視頻流以及本地?cái)z像頭設(shè)備的采集,近期有個(gè)客戶需求要求將整個(gè)桌面屏幕采集下來,并可以錄制保存成MP4文件,以前也遇到過類似的需求,由于沒有搞過,也沒有精力去摸索和測試,所以也就一直耽擱著,近期剛好這個(gè)需求又來了,定下心

    2023年04月25日
    瀏覽(21)
  • WebRTC音視頻采集和播放示例及MediaStream媒體流解析

    WebRTC音視頻采集和播放示例及MediaStream媒體流解析

    示例代碼——同時(shí)打開攝像頭和麥克風(fēng),并在頁面顯示畫面和播放捕獲的聲音 API解析 mediaDevices MediaStream媒體流 代碼 效果 1. mediaDevices mediaDevices 是 Navigator 只讀屬性,返回一個(gè) MediaDevices 對象,該對象可提供對相機(jī)和麥克風(fēng)等媒體輸入設(shè)備的連接訪問,也包括屏幕共享。 語法

    2023年04月08日
    瀏覽(16)
  • 『GitHub項(xiàng)目圈選01』一款構(gòu)建AI數(shù)字人項(xiàng)目開源了!自動(dòng)實(shí)現(xiàn)音視頻同步!

    『GitHub項(xiàng)目圈選01』一款構(gòu)建AI數(shù)字人項(xiàng)目開源了!自動(dòng)實(shí)現(xiàn)音視頻同步!

    從本周開始,小圈正式推出『GitHub項(xiàng)目圈選周刊』計(jì)劃,精選一些小圈遇到的或行業(yè)內(nèi)大佬們推薦的好玩、有趣、實(shí)用、超前的開源項(xiàng)目,以周刊文章形式分享給大家觀閱學(xué)習(xí),以望一起學(xué)習(xí),共同進(jìn)步。 ?????? 本周GitHub項(xiàng)目圈選****: 主要包含音視頻同步、多代理框架、

    2024年02月04日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包