XG ビデオの外観領域は非常に素晴らしいです。30 行の Python コードのみを使用してバッチでダウンロードし、ローカルに保存してゆっくりと視聴します

才能ある人(lsp)の皆さんが普段どこで動画を見ているかはわかりませんが、ある人は特定の魚の踊りの領域を言い、ある人は特定の歯の踊りの領域を言います.私に言わせれば、スイカの船乗りほどではありません.ここにいる皆さん才能があり、彼らは話します いいですね、私はここが本当に好きです...



さて、これ以上苦労することなく、このコンテンツから直接始めましょう。

モジュールの取り付け

今回使用する必要があるモジュールはrequestsモジュールで、インストールしていない人は直接pipでインストールできます。

環境

今回使用した環境はPython3.8、エディタはpycharm、持っていない人は記事末尾の名刺から入手できます。

結果を示す

ここでは1つのコンテンツのみをクロールし、詳細なビデオ説明も記録し、記事の最後にビデオとコードを名刺に直接取りました.

コード表示

使用モジュール

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)

データを取得する

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')

やっと

さて、今日の共有はこれで終わりです。気に入ったら、いいねとブックマークを忘れずに。また次回お会いしましょう!

おすすめ

転載: blog.csdn.net/fei347795790/article/details/129182468