ホワイトは、エンド売春婦になりますか!爬虫類ステーションB簡単なビデオクロール

起因

B駅の大ファンとして、ベッドに行くと絶対必要であるビデオのすべての強打を取得する前に。しかし、私は通常、ブラシがビデオをダウンロードしたいと考えていましたコンピュータで、昨日電話でブラシが、自身が、ダウンロードのビデオを書き込むためにこれだけしぶしぶ、何のWebアプリケーションのキャッシュ機能があったが見つかりません。もともと書かれた最後の夜は、ハードも今日コンテンツ違反の結果は無力言った、B駅に投稿された映像を記録

達成するためのステップバイステップ

この方法の一つ

ここに画像を挿入説明
私は、これは、ビデオ、その後、F12のページだと思います、URLはビデオを見つける
ここに画像を挿入説明
ブロブを暗号化することが判明し、ブロブは、オンラインのブログ、記事について多くを復号化します。しかし、最終的には直接の取得は、それが存在しないこと、そしてステッチリターンTSがたくさんありますか?ネットワーク負荷のコンテンツは、ビデオの再生時間を確認するために内部に行くために、発見された
ここに画像を挿入説明
ここに画像を挿入説明
私たちは、このウェブサイトにして、ローカルラインへのコンテンツの保存のアクセスを取得するつもりだので、これの多くは、ビデオファイルを文字化けしている表情が、あります。私たちは、このWebサイトに行かなければならないので、私は実際には内部のページがあることがわかりました。
ページM4Sを検索するには、Ctrl + Fは、発見
ここに画像を挿入説明
のようなURLに次の定期的な試合を、私はM4S形式で起動時にファイルを保存し、それ以降のFLV形式に保存したファイルので、開いてないことが判明しました。

方法二

一般的な考え方上記のように、私は、ネットワーク内のAPIが見つかった
ここに画像を挿入説明
ここに画像を挿入説明
ので、第2の実施はJSONを返すから、このページ、エキスのURLを訪問し、ファイルに保存された訪問のURLを、行くことです。

コード

このコードは、コード最初の方法で、第二にも非常に簡単です、あなたは、ヘッダーのようなパラメータに、それを単に賃金の注目を自分で試すことができます

import requests
import re

def get_html(url):
    return requests.get(url,headers=headers1).text

def parse(html):
    video_name=re.findall('<span class="tit">(.*?)</span>',html,re.S)[0]+'.flv'#本来是m4s,但是电脑打不开所以还是用flv
    print("正在爬取"+video_name+"...")
    video_url=re.findall('window.__playinfo__={.*?"baseUrl":"(.*?)".*?}',html,re.S)[0]
    # print(video_url)
    return video_url,video_name

def download(videourl,video_name):
    with open(video_name,'wb') as f:
        f.write(requests.get(videourl,headers=headers2,stream=True,verify=False).content)
    f.close()
    print("视频下载完成!")


if __name__ == '__main__':
    avid=input("请输入要爬取的视频id:")
    base_url=f'https://www.bilibili.com/video/av{avid}'
    headers1={
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36',
        'Host': 'www.bilibili.com',
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
        'Accept-Encoding':'gzip, deflate, br',
        'Accept-Language':'zh-CN,zh;q=0.9',
        'Cache-Control': 'max-age=0',
        'Connection': 'keep-alive'
    }

    headers2={
        'Host':'cn-jsnj3-cmcc-v-14.bilivideo.com',
        'Accept-Encoding':'identity',
        'Accept-Language':'zh-CN,zh;q=0.9',
        'Origin':'https://www.bilibili.com',
        'Referer':base_url,
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'
    }
    html=get_html(base_url)
    videourl,videoname=parse(html)
    download(videourl,videoname)

結果

ここに画像を挿入説明
ここに画像を挿入説明
欠点と改善:欠点は音がしないということで、まだそれについて考える必要がビデオの音声部分をクロールし、統合は、他のすべての動画のクロールに自宅やサイクルからすべての動画IDを一致させることができます、だけでなく、スレッドのいくつかはまた、リストに追加することができます。

遂に

ホワイトではなく、サーバーあまりの圧力に、サイクルも望ましいクロール、今言ったプレーを売春婦。ビデオをアップスタンド行うBの所有者は、我々は、高品質な映像コンテンツの富から多くを学ぶことができ、容易ではない、次回は拒否したので、いない白い娼婦パーティ!

公開された85元の記事 ウォン称賛55 ビュー20000 +

おすすめ

転載: blog.csdn.net/shelgi/article/details/104228656