import os
import asyncio
from telethon import TelegramClient
# 填入你的 api_id 和 api_hash
api_id = 12345
api_hash = '0123456789abcdef0123456789abcdef'
# 填入你的 Telegram 用户名和密码
username = 'my_username'
password = 'my_password'
# 填入频道的名字
channel_name = '@my_channel'
# 设定要下载的视频的最大时长(秒)
max_duration = 60
# 创建 TelegramClient
client = TelegramClient(username, api_id, api_hash, update_workers=4, spawn_read_thread=False)
# 开启 client
client.start()
# 获取频道
channel = client.get_entity(channel_name)
# 创建下载目录
download_dir = os.path.join(os.getcwd(), 'Telegram_Videos')
if not os.path.exists(download_dir):
os.mkdir(download_dir)
# 获取频道里的视频
async def get_channel_videos():
# 获取频道里的所有消息
messages = await client.get_messages(channel, limit=None)
# 遍历所有消息
for message in messages:
# 判断消息是否是视频
if message.video:
# 获取视频的时长
duration = message.video.duration
# 判断视频时长是否符合要求
if duration <= max_duration:
# 获取视频的文件名
filename = message.file.name
# 下载视频
await message.download_media(file=os.path.join(download_dir, filename))
print('下载成功:', filename)
# 运行
asyncio.get_event_loop().run_until_complete(get_channel_videos())
用python自动下载TG频道指定时长的视频
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《用python自动下载TG频道指定时长的视频》
文章链接:https://www.gebizhan.com/1729.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
文章名称:《用python自动下载TG频道指定时长的视频》
文章链接:https://www.gebizhan.com/1729.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。