Telegram群组被封禁用户名单如何导出为本地文件
时间:2026-08-17 | 作者:风起客 | 阅读:0
本文详解如何使用Telethon库将Telegram超级群组中被踢出/封禁的用户列表导出为TXT或CSV文件,涵盖代码修正、文件写入逻辑、数据结构处理及常见注意事项。
本文详解如何使用Telethon库将Telegram超级群组中被踢出/封禁的用户列表导出为TXT或CSV文件,涵盖代码修正、文件写入逻辑、数据结构处理及常见注意事项。
用 Telethon 拉取被封禁(kicked)用户时,client.get_participants(..., filter=ChannelParticipantsKicked) 返回的其实是 User 对象列表,不是字符串,也不是现成的用户名。这恰恰是很多初学者最容易踩中的一个坑。要是直接写 print(member),或者更进一步用 file.write(member),大概率就会碰上 TypeError,原因很简单:User 对象本身不能直接写进文本文件。正确做法是把需要的字段明确取出来,比如 username、id、first_name、last_name,同时还得把空值情况处理好,尤其像 user.username is None 这类情况,不能忽略。
以下是完整、可运行的异步导出示例(支持 TXT 和 CSV 格式):
from telethon import TelegramClient
from telethon.tl.types import ChannelParticipantsKicked
import csv
api_id = 12345678# 替换为你的 API ID
api_hash = 'your_api_hash_here'# 替换为你的 API Hash
group_id = -1001234567890# 注意:超群组需用 -100 开头的 int 形式 ID
client = TelegramClient('session_name', api_id, api_hash)
async def export_kicked_users():
await client.start()
# 获取被封禁成员(支持分页,避免限流)
kicked_members = await client.get_participants(
group_id,
filter=ChannelParticipantsKicked,
limit=5000# 显式限制,避免超时或内存溢出
)
# 方案一:导出为纯文本(每行:ID | Username | Name)
with open('kicked_users.txt', 'w', encoding='utf-8') as f:
f.write(f"{'ID':<12} | {'Username':<20} | {'Name'}n")
f.write("-" * 55 + "n")
for user in kicked_members:
uid = str(user.id)
username = user.username or ""
name = f"{user.first_name or ''} {user.last_name or ''}".strip() or "[deleted]"
f.write(f"{uid:<12} | {username:<20} | {name}n")
# 方案二:导出为 CSV(更易导入 Excel / 数据分析工具)
with open('kicked_users.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(['user_id', 'username', 'first_name', 'last_name', 'is_deleted'])
for user in kicked_members:
writer.writerow([
user.id,
user.username or "",
user.first_name or "",
user.last_name or "",
user.deleted# True 表示已删除账号(幽灵用户)
])
print(f" 成功导出 {len(kicked_members)} 名被封禁用户")
print("→ 文件已保存至当前目录:kicked_users.txt 和 kicked_users.csv")
with client:
client.loop.run_until_complete(export_kicked_users())重要注意事项:
- 权限与认证:首次运行会弹出 Telegram 登录二维码,需手机确认;确保账号有该群组的管理员权限(仅管理员可查看被封禁列表)。
- ID 格式:
group_id必须为整数类型,如-1001234567890;若你拿到的是字符串"-123456789",请转为int(),且注意超群组 ID 前缀为-100。 - 性能优化:5000+ 用户建议启用
limit参数并考虑分页(offset+ 循环),避免单次请求失败;也可添加sleep(1)防触发反爬。 - 隐私与合规:导出用户数据需符合 Telegram Terms of Service 及当地隐私法规;禁止用于骚扰、营销或未经授权的数据传播。
程序跑完后,生成的 kicked_users.txt 和 kicked_users.csv 会直接出现在 Python 脚本所在的目录里。想确认文件是否已经落地,很简单:在终端执行 ls(macOS/Linux)或 dir(Windows)就能看到。后续如果还要继续清洗或做分析,用 Pandas 读取这个 CSV 会更顺手,不管是去重、统计,还是可视化处理,都比较方便。
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- 迅捷路由器怎么调信号最强,设置时要注意什么?
- 时间:2026-08-27
-
- vivo浏览器怎么卸不掉?原因和解决方法在这里
- 时间:2026-08-27
-
- OPPO R11s黑屏了,怎么强制恢复出厂设置?
- 时间:2026-08-27
-
- 飞利浦显示器包装盒有生产日期和保修期吗?怎么看?
- 时间:2026-08-27
-
- 联想新平板开机必须联网吗?怎么做?
- 时间:2026-08-27
-
- 平板横竖屏切换设置与问题解决
- 时间:2026-08-27
-
- 移动电源容量怎么测?要准备哪些工具?
- 时间:2026-08-27
-
- 荣耀90 Pro防水吗?防水级别多少?怎么用才安全
- 时间:2026-08-27
精选合集
更多大家都在玩
大家都在看
更多-
- 以下哪种食材被称为“地下苹果” 蚂蚁庄园今日答案9.18
- 时间:2026-09-17
-
- 蚂蚁庄园今天答题答案2026年9月18日
- 时间:2026-09-17
-
- 蚂蚁庄园答题今日答案2026年9月18日
- 时间:2026-09-17
-
- 蚂蚁庄园小课堂2026年9月18日最新题目答案
- 时间:2026-09-17
-
- 小鸡答题今天的答案是什么2026年9月18日
- 时间:2026-09-17
-
- 蚂蚁庄园每日答题答案2026年9月18日
- 时间:2026-09-17
-
- 蔬菜洗完掉色,说明是被染色了,是真的吗 蚂蚁庄园今日答案9月18日
- 时间:2026-09-17
-
- 满襟蜡绘花纹巧染就花纹当绣裳说的是哪种传统技艺 蚂蚁新村今日答案2026.9.17
- 时间:2026-09-17
