如何使用Telethon库在Python中获取Telegram频道的订阅用户列表
要使用 Telethon 库在 Python 中获取 Telegram 频道的订阅用户列表,您需要进行以下步骤:
1. 安装 Telethon 库:在终端或命令提示符中运行 pip install telethon 命令来安装 Telethon 库。
2. 创建一个 Telegram 应用并获取 API 密钥:访问 https://my.telegram.org/auth,在这里创建一个新的应用程序并获取 API 密钥。请确保将 API 密钥保存在安全的地方,因为它将用于从 Telegram API 服务器访问数据。
3. 导入所需的模块和函数:在 Python 脚本中,使用 import 语句来导入 telethon、telethon.sync、telethon.errors 和 telethon.tl.types 模块。
4. 创建并连接一个 Telegram 客户端:使用以下代码创建一个 Telegram 客户端,并通过调用账号的 start() 方法连接到 Telegram。在这个步骤中,您需要使用您的 API 密钥和手机号码以及验证码。
from telethon.sync import TelegramClient
api_id = 'YOUR_API_ID'
api_hash = 'YOUR_API_HASH'
client = TelegramClient('session_name', api_id, api_hash)
client.start()
5. 获取频道的实体名称:使用 client.get_entity() 方法来获取频道的实体名称。您需要提供频道的完整链接或 ID,如下所示:
channel_entity = client.get_entity('https://t.me/channel_name')
6. 获取频道的订阅用户列表:使用 client.get_participants() 方法来获取频道的订阅用户列表。您需要提供频道的实体名称和一些其他参数,如下所示:
participants = client.get_participants(channel_entity)
7. 处理用户列表:参与者列表是一个迭代器,您可以使用 for 循环来遍历它并处理每个用户的信息。以下是一个示例代码,将用户的用户名和 ID 打印到控制台:
for participant in participants:
print('Username:', participant.username)
print('ID:', participant.id)
print('------------')
8. 断开连接并关闭客户端:完成对参与者列表的处理后,使用 client.disconnect() 方法断开连接并关闭 Telegram 客户端。
client.disconnect()
在整个过程中,确保您的手机号码与您的 Telegram 账号关联,并且您是目标频道的管理员或成员。这将确保您有权访问频道的订阅用户列表。
以下是完整的例子:
from telethon.sync import TelegramClient
api_id = 'YOUR_API_ID'
api_hash = 'YOUR_API_HASH'
client = TelegramClient('session_name', api_id, api_hash)
client.start()
channel_entity = client.get_entity('https://t.me/channel_name')
participants = client.get_participants(channel_entity)
for participant in participants:
print('Username:', participant.username)
print('ID:', participant.id)
print('------------')
client.disconnect()
运行这段代码,将替换 YOUR_API_ID、YOUR_API_HASH 和 https://t.me/channel_name 为您自己的 API 密钥、频道链接,然后您将获得频道的订阅用户列表。
