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 目录中。