telegram_media_downloader

概述

从您所属的电报对话或频道下载所有媒体文件。

最后读取/下载消息的元数据存储在配置文件中,这样它就不会再次下载相同的媒体文件。

界面

short.gif

运行后打开浏览器访问localhost:5000

支持

| 类别 | 支持 |

| ------------ | ---------------------------------------- |

| 语言 | Python 3.7 及以上 |

| 下载媒体类型 | 音频、文档、照片、视频、video_note、语音 |

版本发布计划

安装

对于具有 make 可用性的 *nix 操作系统发行版


git clone https://github.com/tangyoha/telegram_media_downloader.git

cd telegram_media_downloader

make install

对于没有内置 make 的 Windows


git clone https://github.com/tangyoha/telegram_media_downloader.git

cd telegram_media_downloader

pip3 install -r requirements.txt

升级安装


cd telegram_media_downloader

pip3 install -r requirements.txt

配置

所有配置都通过 config.yaml 文件传递给 Telegram Media Downloader

获取您的 API 密钥:

第一步需要您获得有效的 Telegram API 密钥(API id/hash pair):

  1. 访问 https://my.telegram.org/apps 并使用您的 Telegram 帐户登录。

  2. 填写表格以注册新的 Telegram 应用程序。

  3. 完成! API 密钥由两部分组成:api_idapi_hash

获取聊天ID:

如果你需要下载收藏夹的内容请填me

1。使用网络电报:

  1. 打开 https://web.telegram.org/?legacy=1#/im

  2. 现在转到聊天/频道,您将看到 URL 类似

  • https://web.telegram.org/?legacy=1#/im?p=u853521067_2449618633394 这里 853521067 是聊天 ID。

  • https://web.telegram.org/?legacy=1#/im?p=@somename 这里的 somename 是聊天 ID。

  • https://web.telegram.org/?legacy=1#/im?p=s1301254321_6925449697188775560 此处取 1301254321 并将 -100 添加到 id => -1001301254321 的开头。

  • https://web.telegram.org/?legacy=1#/im?p=c1301254321_6925449697188775560 此处取 1301254321 并将 -100 添加到 id => -1001301254321 的开头。

2。使用机器人:

1.使用@username_to_id_bot获取chat_id

- 几乎所有电报用户:将用户名发送给机器人或将他们的消息转发给机器人

- 任何聊天:发送聊天用户名或复制并发送其加入聊天链接到机器人

- 公共或私人频道:与聊天相同,只需复制并发送给机器人

- 任何电报机器人的 ID

配置文件


api_hash: your_api_hash

api_id: your_api_id

chat_id: telegram_chat_id

last_read_message_id: 0

ids_to_retry: []

media_types:

- audio

- document

- photo

- video

- voice

file_formats:

  audio:

  - all

  document:

  - pdf

  - epub

  video:

  - mp4

save_path: D:\telegram_media_downloader

file_path_prefix:

- chat_title

- media_datetime

disable_syslog:

- INFO

upload_drive:

  enable_upload_file: true

  remote_dir: drive:/telegram

  before_upload_file_zip: True

  after_upload_file_delete: True

hide_file_name: true

file_name_prefix:

- message_id

- file_name

file_name_prefix_split: ' - '

max_concurrent_transmissions: 1

web_host: 127.0.0.1

web_port: 5000

  • api_hash - 你从电报应用程序获得的 api_hash

  • api_id - 您从电报应用程序获得的 api_id

  • chat_id - 您要下载媒体的聊天/频道的 ID。你从上述步骤中得到的。

  • last_read_message_id - 如果这是您第一次阅读频道,请将其设置为“0”,或者如果您已经使用此脚本下载媒体,它将有一些数字,这些数字会在脚本成功执行后自动更新。不要改变它。如果你需要下载收藏夹的内容,请填me

  • ids_to_retry - 保持原样。下载器脚本使用它来跟踪所有跳过的下载,以便在下次执行脚本时可以下载它。

  • media_types - 要下载的媒体类型,您可以更新要下载的媒体类型,它可以是一种或任何可用类型。

  • file_formats - 为支持的媒体类型(“音频”、“文档”和“视频”)下载的文件类型。默认格式为“all”,下载所有文件。

  • save_path - 你想存储下载文件的根目录

  • file_path_prefix - 存储文件子文件夹,列表的顺序不定,可以随机组合

    • chat_title - 聊天频道或者群组标题, 如果找不到标题则为配置文件中的chat_id

    • media_datetime - 资源的发布时间

    • media_type - 资源类型,类型查阅 media_types

  • disable_syslog - 您可以选择要禁用的日志类型,请参阅 logging._nameToLevel

  • upload_drive - 您可以将文件上传到云盘

    • enable_upload_file - [必填]启用上传文件,默认为false

    • remote_dir - [必填]你上传的地方

    • upload_adapter - [必填]上传文件适配器,可以为rclone,aligo。如果为rclone,则支持rclone所有支持上传的服务器,如果为aligo,则支持上传阿里云盘

    • rclone_path,如果配置upload_adapterrclone则为必填,rclone的可执行目录,见wiki如何使用rclone

    • before_upload_file_zip - 上传前压缩文件,默认为false

    • after_upload_file_delete - 上传成功后删除文件,默认为false

  • file_name_prefix - 自定义文件名称,使用和 file_path_prefix 一样

    • message_id - 消息id

    • file_name - 文件名称(可能为空)

    • caption - 消息的标题(可能为空)

  • file_name_prefix_split - 自定义文件名称分割符号,默认为-

  • max_concurrent_transmissions - 设置最大并发传输量(上传和下载)。 太高的值可能会导致与网络相关的问题。 默认为 1。

  • hide_file_name - 是否隐藏web界面文件名称,默认false

  • web_host - web界面地址

  • web_port - web界面端口

执行


python3 media_downloader.py

所有下载的媒体都将存储在save_path根目录下。

具体位置参考如下:


file_path_prefix:

  - chat_title

  - media_datetime

  - media_type

视频下载完整目录为:save_path/chat_title/media_datetime/media_type

列表的顺序不定,可以随机组合。

如果配置为空,则所有文件保存在save_path下。

贡献

贡献指南

通读我们的贡献指南,了解我们的提交流程、编码规则等。

想帮忙?

想要提交错误、贡献一些代码或改进文档?出色的!阅读我们的 贡献指南

行为守则

帮助我们保持 Telegram Media Downloader 的开放性和包容性。请阅读并遵守我们的行为准则

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容