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

聽說小破站新上一批“高質量”的視頻,于是懷揣著“學習”的目的,我用Python將他們全部采集了下來

這篇具有很好參考價值的文章主要介紹了聽說小破站新上一批“高質量”的視頻,于是懷揣著“學習”的目的,我用Python將他們全部采集了下來。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

事情是這樣的,昨晚室友悄咪咪的拉著我去他的電腦,說帶我欣賞一點高雅的作品,于是這一坐下,便是一晚上…

聽說小破站新上一批“高質量”的視頻,于是懷揣著“學習”的目的,我用Python將他們全部采集了下來

作為一個樂于分享的博主,本來我是決定直接分享的,但是轉念一想,授人以魚不如授人以漁,我還是直接出教程方便大家以后遇到了喜歡的,也能及時下載保存。

聽說小破站新上一批“高質量”的視頻,于是懷揣著“學習”的目的,我用Python將他們全部采集了下來

一、準備一下

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

Pycharm
python 3.8
ffmpeg

模塊的使用

requests
re
subprocess

二、基本思路流程

1、明確需求

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

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

打開方式:

  1. 鼠標右鍵點擊檢查選擇Network
  2. F12
  3. ctrl + shift + i

聽說小破站新上一批“高質量”的視頻,于是懷揣著“學習”的目的,我用Python將他們全部采集了下來

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

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

網絡(Network)面板記錄頁面上每個網絡操作的相關信息,包括詳細的耗時數據、HTTP 請求與響應標頭和 Cookie,等等。這就是我們通常說的抓包。

Requests Table參數:

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

XHR:XMLHttpRequest 的縮寫,是ajax技術的核心,動態(tài)加載完成經常分析的一個內容

CSS: css樣式文件

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

Img: Images 圖片文件

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

DOC : Document,文檔內容

WS: WebSocket,web端的socket數據通信,一般用于一些實時更新的數據

Requests詳情:

請求頭

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

  • General

    Request url :實際請求的網址

    Request Method: 請求方法

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

  • Response Headers

    服務器返回時設置的一些數據,例如服務器更新的cookie數據最新是在這里出現修改。

  • Requests Headers

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

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

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

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

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

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

    Host: 請求的主機地址

    User-Agent: 用戶身份代理,服務器根據這個判斷用戶的大概信息。

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

預覽

Preview 是請求結果的預覽。一般用來查看請求到的圖片,對于抓取圖片網站比較給力。

響應體

Response 是請求返回的結果。一般的內容是整個網站的源代碼。如果該請求是異步請求,返回的結果內容一般是 Json 文本數據。

此數據與瀏覽器展示的網頁可能不一致,因為瀏覽器是動態(tài)加載的。

2、數據來源分析

聽說小破站新上一批“高質量”的視頻,于是懷揣著“學習”的目的,我用Python將他們全部采集了下來

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

聽說小破站新上一批“高質量”的視頻,于是懷揣著“學習”的目的,我用Python將他們全部采集了下來
通過結果可得 playurl 就是我們想要的數據

聽說小破站新上一批“高質量”的視頻,于是懷揣著“學習”的目的,我用Python將他們全部采集了下來
既然我們知道了, 數據的來源, 接下來就要分析, 這個數據包url中有那些參數是我們需要去找尋分析的…

因為我們這個只是找到一個B站視頻的數據, 如果想要獲取多個那肯定是需要分析的。

聽說小破站新上一批“高質量”的視頻,于是懷揣著“學習”的目的,我用Python將他們全部采集了下來
聽說小破站新上一批“高質量”的視頻,于是懷揣著“學習”的目的,我用Python將他們全部采集了下來
通過請求參數對比, 我們現在所需要找的參數就是 cid , bvid , session

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

**cid / session 在網頁源代碼里面就可以獲取的 **

聽說小破站新上一批“高質量”的視頻,于是懷揣著“學習”的目的,我用Python將他們全部采集了下來

3、總結

通過以上分析可得:

  1. 首先獲取 cid session 這兩個參數, 順帶在獲取視頻標題
  2. 把cid session 以及 bv號 傳入數據包內
  3. 最后再獲取 音頻數據 以及 視頻畫面數據

三、代碼實現步驟

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

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

四、代碼實現

1、發(fā)送請求

import requests
import re
import subprocess

headers = {
    'referer': 'https://www.****.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ā)送請求"""
    response = requests.get(url=html_url, headers=headers)
    return response

2、獲取視頻標題/cid/session

def get_video_info(html_url):
    """獲取 cid session 視頻標題"""
    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):
    """獲取音頻內容以及視頻內容"""
    index_url = 'https://api.****.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、保存數據

def save(name, audio_url, video_url):
    """保存數據"""
    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):
    """數據的合并"""
    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('視頻合成結束:', video_name)

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

到了這里,關于聽說小破站新上一批“高質量”的視頻,于是懷揣著“學習”的目的,我用Python將他們全部采集了下來的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

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

領支付寶紅包贊助服務器費用

相關文章

  • 推薦幾個免費且高質量無版權的視頻素材網站,記得收藏

    推薦幾個免費且高質量無版權的視頻素材網站,記得收藏

    今天這篇文章給大家分享視頻素材網站,希望對大家有幫助 1、Coverr 第一個網站是Coverr。Coverr是一個高質量的無版權視頻素材下載網站,有分類,可以英文搜索。這個網站的視頻素材質量還是很高的,無套路,免費下載。 第二個網站是Mixkit。這個網站就更牛批了,不僅可以下

    2024年02月12日
    瀏覽(376)
  • 用Wav2Lip+GFPGAN創(chuàng)建高質量的唇型合成視頻

    在這里,我可以提供一個簡單的代碼示例,演示如何使用Wav2Lip+GFPGAN來創(chuàng)建高質量的唇形合成視頻。代碼示例如下: 這是一個簡單的參考實現,并不能保證所有情況下都適用,但是可以幫助您了解如何使用Wav2Lip+GFPGAN來生成唇形合成視頻。

    2024年02月13日
    瀏覽(24)
  • 通過Whisper模型將YouTube播放列表中的視頻轉換成高質量文字稿的項目

    通過Whisper模型將YouTube播放列表中的視頻轉換成高質量文字稿的項目

    一個通過Whisper模型將YouTube播放列表中的視頻轉換成高質量文字稿的項目。 這個基于 Python 的工具旨在將 YouTube 視頻和播放列表轉錄為文本。它集成了多種技術,例如用于轉錄的 Fast-Whisper、用于自然語言處理的 SpaCy 以及用于 GPU 加速的 CUDA,旨在高效處理視頻內容。該腳本能

    2024年02月05日
    瀏覽(25)
  • 如何編寫高質量代碼

    如何編寫高質量代碼

    現代軟件開發(fā)中,代碼是構建高質量軟件的核心。高質量代碼能夠提高軟件系統(tǒng)的可靠性、可維護性和可擴展性,減少bug的數量和修復時間,提升開發(fā)效率和代碼可讀性,同時有助于團隊協(xié)作和知識傳承共享。 然而,夢想是豐滿的,現實是骨感的!軟件開發(fā)面臨諸多挑戰(zhàn)。

    2024年02月02日
    瀏覽(675)
  • 高質量橢圓檢測庫

    高質量橢圓檢測庫

    目錄 前言 效果展示 檢測庫 簡介 安裝庫 用法 測試 論文算法步驟簡讀 1. lsd 檢測 2. lsd group 3. 生成初始 ellipse 4. 聚類 橢圓檢測是工業(yè)中比較常用的一種檢測需求。目前常用的基于傳統(tǒng)圖像處理的橢圓檢測方法是霍夫變換,但是霍變換的檢測率比較低,很難滿足工業(yè)場景。而基

    2024年02月07日
    瀏覽(876)
  • 如何寫出高質量代碼?

    作為一名資深開發(fā)人員,寫出高質量的代碼是我們必須要追求的目標。然而,在實際開發(fā)中,我們常常會遇到各種問題。比如,代碼的可讀性、可維護性、健壯性和靈活性等,這些都會影響代碼的質量。那么,究竟如何才能寫出高質量的代碼呢? 代碼結構清晰易懂,能夠使代

    2024年02月02日
    瀏覽(104)
  • 如何寫出高質量代碼

    一、 前言 編寫高質量代碼是每一位程序員的追求。高質量的代碼可以提高代碼可讀性、可維護性、可擴展性以及軟件運行的性能和穩(wěn)定性。在這篇文章中,我將分享一些編寫高質量代碼的特征、編程實踐技巧和軟件工程方法論。 可讀性:好的代碼應該能夠被維護者輕易地理

    2024年02月02日
    瀏覽(111)
  • 如何寫出高質量的代碼

    你是否曾經為自己寫的代碼而感到懊惱?你是否想過如何才能寫出高質量代碼?那就不要錯過這個話題!在這里,我們可以討論什么是高質量代碼,如何寫出高質量代碼等問題。無論你是初學者還是資深開發(fā)人員,都可以在這個話題下進行分享,汲取靈感和知識,共同提高自

    2023年04月25日
    瀏覽(100)
  • 網絡安全高質量文庫

    網絡安全高質量文庫

    PeiQI文庫 http://api.orchidstudio.cn/ PeiQi文庫是一個面對網絡安全從業(yè)者的知識庫,涉及漏洞研究,代碼審計,CTF奪旗,紅藍對抗等多個安全方向,用于解決安全信息不聚合,安全資料不易找的難題。幫助網絡安全從業(yè)者共同構建安全的互聯(lián)網,快速驗證并及時修復相關漏洞,為甲

    2024年02月12日
    瀏覽(96)
  • 有哪些高質量的自學網站?

    有哪些高質量的自學網站?

    分享32個鮮為人知并且完全免費的高質量自學網站,每個都是堪稱神器,讓你相見恨晚。 是一個完全免費的綜合視頻教程網站,非常良心實用。 它提供的視頻教程非常豐富并且質量很高,包括:PS 教程、手機攝影教程、Ai 做圖教程、Excel 教程、Word 教程、PPT 教程、Pr 視頻剪輯

    2024年02月02日
    瀏覽(96)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包