Trích xuất thông tin thành viên từ nhóm Telegram bằng Python
Telegram là một trong những nền tảng tin nhắn được tin dùng nhất trên thế giới. Telegram được sử dụng để quản lý cộng đồng với nhiều mục đích khác nhau. Các công ty khởi nghiệp tin rằng đây là một công cụ hữu hiệu để thu hút khách hàng cho mục đích quảng bá và dịch vụ. Trong bài hướng dẫn này, ...
Telegram là một trong những nền tảng tin nhắn được tin dùng nhất trên thế giới. Telegram được sử dụng để quản lý cộng đồng với nhiều mục đích khác nhau.
Các công ty khởi nghiệp tin rằng đây là một công cụ hữu hiệu để thu hút khách hàng cho mục đích quảng bá và dịch vụ. Trong bài hướng dẫn này, sẽ thảo luận về cách sử dụng Telegram API để trích xuất thành viên trong nhóm bằng Telegram API sử dụng Python.
Tạo ứng dụng Telegram:
Đến liên kết my.telegram.org để tạo ứng dụng:
Đăng nhập bằng tài khoản Telegram đã có của bạn >> "Next".
Chọn thẻ API và bổ sung các thông tin yêu cầu để thiết lập ứng dụng.
Chú ý đến các thông tin ở trường api_id và api_hash; đây là những thông tin liên quan cần sử dụng cho ở các bước tiếp theo (có thể lưu ở nodepad).
Cài đặt thư viện telethon
Tìm hiểu thêm về thư viện telethon tại đây.
Trước hết cần cài đặt Python trên máy theo hướng dẫn này, bạn nên cài phiên bản Python 3).
Nhập lệnh:
python pip install telethon
Ghi chú: Hướng dẫn cài đặt trên Windows.
Dưới đây là code chạy cho chương trình. Có thể tham khảo thêm hướng dẫn tạo từng phần theo link cuối bài.
from telethon.sync import TelegramClient from telethon.tl.functions.messages import GetDialogsRequest from telethon.tl.types import InputPeerEmpty import csv api_id = 123456 api_hash = 'YOUR_API_HASH' phone = '+111111111111' client = TelegramClient(phone, api_id, api_hash) client.connect() if not client.is_user_authorized(): client.send_code_request(phone) client.sign_in(phone, input('Enter the code: ')) chats = [] last_date = None chunk_size = 200 groups=[] result = client(GetDialogsRequest( offset_date=last_date, offset_id=0, offset_peer=InputPeerEmpty(), limit=chunk_size, hash = 0 )) chats.extend(result.chats) for chat in chats: try: if chat.megagroup== True: groups.append(chat) except: continue print('Choose a group to scrape members from:') i=0 for g in groups: print(str(i) + '- ' + g.title) i+=1 g_index = input("Enter a Number: ") target_group=groups[int(g_index)] print('Fetching Members...') all_participants = [] all_participants = client.get_participants(target_group, aggressive=True) print('Saving In file...') with open("members.csv","w",encoding='UTF-8') as f: writer = csv.writer(f,delimiter=",",lineterminator=" ") writer.writerow(['username','user id', 'access hash','name','group', 'group id']) for user in all_participants: if user.username: username= user.username else: username= "" if user.first_name: first_name= user.first_name else: first_name= "" if user.last_name: last_name= user.last_name else: last_name= "" name= (first_name + ' ' + last_name).strip() writer.writerow([username,user.id,user.access_hash,name,target_group.title, target_group.id]) print('Members scraped successfully.')
Chúc các bạn thành công !!!