由于某些你懂的理由,需要从某个频道下载所有的图片,搜索一番发现并没有现成的工具,但是有封装好的 telegram python api 库 Telethon,于是基于该库编写了此脚本
链接: https://github.com/yeziyezi/scripts
或者也可以直接用 Telethon 来搞事情(
Telethon 的文档: https://telethon.readthedocs.io/en/latest/index.html
![]() | 1 yggd 2019-03-21 16:14:21 +08:00 Markdown 链接前面不加 ! |
3 xFrank 2019-03-23 11:42:27 +08:00 怎么用? |
![]() | 4 EscYezi OP @xFrank #3 安装依赖,拿到自己的 tg api id 和 hash,把那几个变量改一下,然后运行。具体的在 readme 和注释里已经写了 |
![]() | 5 metalbug 2019-03-23 18:39:26 +08:00 能下载所有视频吗? |
7 Deteriorator 2019-05-12 20:56:01 +08:00 请问怎么获取 saved messages 信息? |
![]() | 8 EscYezi OP @Deteriorator 这个我也不太清楚,可以去 Telethon 的文档找找看 |
9 Deteriorator 2019-05-12 22:04:06 +08:00 @EscYezi 试了一个下午,到现在都没找到方法,吐血了都 |
![]() | 10 ronman 2019-11-15 16:52:28 +08:00 老哥有没有遇到 FloodWaitError 啊,我看了一下好像是短时间请求次数太多了,导致的出错,有什么好的解决办法吗? |
11 Aistv 2020-01-01 12:37:41 +08:00 |
13 Aistv 2020-01-01 14:53:12 +08:00 @ronman 开了 ssr 后在 Telegram 自定义代理里面试了 127.0.0.1,1080,软件都可以用 脚本就不行,能告诉我你用的什么代理吗? Traceback (most recent call last): File "C:\Users\Aistv\Desktop\scripts-master\download-telegram-channel-pictures.py", line 19, in <module> client = TelegramClient('my_session',api_id=api_id,api_hash=api_hash,proxy=proxy).start() File "C:\Users\Aistv\AppData\Roaming\Python\Python38\site-packages\telethon\client\auth.py", line 132, in start else self.loop.run_until_complete(coro) File "C:\Users\Aistv\AppData\Local\Programs\Python\Python38\lib\asyncio\base_events.py", line 612, in run_until_complete return future.result() File "C:\Users\Aistv\AppData\Roaming\Python\Python38\site-packages\telethon\client\auth.py", line 139, in _start await self.connect() File "C:\Users\Aistv\AppData\Roaming\Python\Python38\site-packages\telethon\client\telegrambaseclient.py", line 439, in connect if not await self._sender.connect(self._connection( File "C:\Users\Aistv\AppData\Roaming\Python\Python38\site-packages\telethon\network\mtprotosender.py", line 124, in connect await self._connect() File "C:\Users\Aistv\AppData\Roaming\Python\Python38\site-packages\telethon\network\mtprotosender.py", line 237, in _connect raise ConnectionError('Connection to Telegram failed %d time(s)', self._retries) ConnectionError: [Errno Connection to Telegram failed %d time(s)] 5 >>> |
15 Aistv 2020-01-03 19:39:35 +08:00 @ronman 我连续下载了几千张并没有碰到你说的什么 FloodWaitError,只有验证过期什么的,重新开一下脚本就可以继续。 |
![]() | 16 minxiansheng 2020-12-22 21:18:57 +08:00 @Aistv 大佬,我用 clash 代理,运行这个程序出现 Connection to Telegram failed 5 time(s),怎么解决啊,谢谢大佬 |