由于某些你懂的理由,需要从某个频道下载所有的图片,搜索一番发现并没有现成的工具,但是有封装好的 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),怎么解决啊,谢谢大佬
|