「Telegram」-

https://flathub.org/apps/org.telegram.desktop
flatpak install flathub org.telegram.desktop
flatpak run org.telegram.desktop

应用

下载 Telegram 上的所有视频

DeepSeek / 帮我写一段代码,该代码能够下载 Telegram 上的所有视频

安装 Telethon 库:pip install telethon

获取 API ID 和 API Hash 信息:登录 my.telegram.org 站点,创建一个新的应用程序,获取 API ID 和 API Hash 参数。

编写代码:

from telethon import TelegramClient, events
from telethon.tl.types import InputMessagesFilterVideo
import os

# 替换为你的 API ID 和 API Hash
api_id = 'YOUR_API_ID'
api_hash = 'YOUR_API_HASH'

# 替换为你的电话号码
phone_number = 'YOUR_PHONE_NUMBER'

# 创建一个目录来保存下载的视频
if not os.path.exists('downloaded_videos'):
    os.makedirs('downloaded_videos')

# 创建 Telegram 客户端
client = TelegramClient('session_name', api_id, api_hash)

async def download_videos():
    # 连接到 Telegram
    await client.start(phone_number)

    # 获取目标聊天(可以是群组、频道或私聊)
    target_chat = 'target_chat_username_or_id'  # 替换为目标聊天的用户名或ID

    # 获取聊天实体
    entity = await client.get_entity(target_chat)

    # 获取所有视频消息
    videos = await client.get_messages(entity, filter=InputMessagesFilterVideo)

    # 下载视频
    for video in videos:
        if video.video:
            print(f"Downloading video: {video.id}")
            await video.download_media(file=f"downloaded_videos/{video.id}.mp4")

    print("All videos downloaded.")

# 运行下载函数
with client:
    client.loop.run_until_complete(download_videos())

代码说明:

  • API ID 和 API Hash: 你需要从 my.telegram.org 获取这些信息。
  • phone_number: 你的 Telegram 电话号码。
  • target_chat: 你要下载视频的聊天(可以是群组、频道或私聊)的用户名或ID。
  • InputMessagesFilterVideo: 用于过滤出视频消息。
  • download_media: 下载视频并保存到本地。

注意事项:

  • 你需要确保你有权限访问目标聊天的内容。
  • 如果目标聊天是私密的,你需要先加入该聊天。
  • 下载大量视频可能会占用大量存储空间,请确保你有足够的磁盘空间。

运行代码:

  • 将代码保存为 download_telegram_videos.py,然后在终端中运行:python download_telegram_videos.py
  • 这将下载指定聊天中的所有视频并保存到 downloaded_videos 目录中。