Python クローラーはビデオコンテンツをクロールする方法を教えます

        基本的なデータ クローリングについては以前に紹介しましたが、画像クローリングの関連事例についても前回の記事で説明しています。Web サイトにログインできない場合があるという問題については、他の Web サイトを参照してください。分かりました、実はどのサイトも同じです、クライミング防止の仕組みがあるので当然対処法はありますが、以下の場合は学習の参考として事例サイトも紹介します。継続的に最新情報を入手するにはフォローしてください!

1. 事件のウェブサイト

ウェブサイトのリンク:自己申告
ページの参照:
ここに画像の説明を挿入

2. 思考分析

1.m3u8ファイルを取得します

m3u8ファイルはビデオを断片にスライスします。期間は可変で、通常は短いです。m3u8 ファイルを取得することで、対応するtsファイルのリンクを取得し、断片化されたビデオをダウンロードできます。ただし、サードパーティ ツールを使用する必要があります。後でビデオを統合するには、ビデオ クリップがビデオ全体に復元されます。

2.TSビデオをダウンロードする

取得した m3u8 を Python 関数で文字列処理し、ビデオ クリップを 1 つずつダウンロードします。ビデオはバイナリ形式で保存されているため、ダウンロードするときは .content メソッドを使用して、最終的に MP4 形式でダウンロードします。永続ストレージに使用されます。

3. ステップ分析と結果表示

        ここで私なりの方法を紹介します まず、パケットキャプチャツールを使ってvideo要素を取得すると、そのほとんどがvideoタグの中にあることがわかります;このとき、videoタグがあるかどうかを確認することができますWebページのソースコードは通常はありませんが、実際に試してみることでより深く理解することができます。
        したがって、ビデオは ajax を通じてロードされるため、「<script.>」タグでビデオを検索すると、この時点で何かが得られる可能性があります。さらに、パケット キャプチャ ツールを通じて検索することもできます。
このケース 1 は機能しないため、2 番目の方法が採用されます。

m3u8 ファイルの一般的な形式 (暗号化形式のフォローアップ記事で復号化について説明しています)

ここに画像の説明を挿入
ここに画像の説明を挿入
ts ファイルのリンクは不完全であることがわかりますが、分析することはできます。
分析は次の図に示されています。
ここに画像の説明を挿入

結果の表示:

pycharmを開くと文字化けする
ここに画像の説明を挿入


ここに画像の説明を挿入
1.tsを開くルート パスを見つけます。
ここに画像の説明を挿入

取得したビデオクリップを自分で合成してみることができます。コードを以下に示します。

4. 完全なコード表示 (小さな手を 3 回動かしてください。コードワードは簡単ではありませんので、お願いします!)

import requests

url="https://v8.dious.cc/20221223/2jfDSrly/1500kb/hls/index.m3u8"

headers={
    
    
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.52"
}
n=1
response=requests.get(url=url,headers=headers)
with open("侍酒令第一集.txt","wb") as fp:
    fp.write(response.content)

with open("侍酒令第一集.txt",mode="r",encoding="utf-8") as fp:
    for line in fp:
        line=line.strip()
        if line.startswith("#"):
            continue
        last_tspath="https://v8.dious.cc"+line
        resp3=requests.get(last_tspath)
        f=open(f"{
      
      n}.ts",mode="wb")
        f.write(resp3.content)
        n+=1

おすすめ

転載: blog.csdn.net/qqshenbaobao/article/details/128762025