Парсинг юзеров из чата Telegram
Сегодня узнал, что есть люди, которые покупают парсинг логинов из чатов Telegram.
Чтобы вы больше не мучились - ловите код:
import csv
from telethon.sync import TelegramClient
from telethon.tl.functions.messages import GetDialogsRequest
from telethon.tl.types import InputPeerEmpty
#тут нужно ввести ваш номер телефона, id и hash. Получить их можно тут https://my.telegram.org/apps
api_id = 11111
api_hash = '111111'
phone = '+111111'
client = TelegramClient(phone, api_id, api_hash)
client.start()
chats = []
last_date = None
# ограничим максимальное количество получаемых групп с помощью переменной size_chats (присвоим ей значение 200)
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)
#Проверка работает очень просто: если у группы будет стандартный параметр megagroup, то мы добавляем её в наш список. Если параметра нет, мы пропускаем группу. Можете изменить на False
for chat in chats:
try:
if chat.megagroup == True:
groups.append(chat)
except:
continue
print("Выберите группу для парсинга членов группы:")
i = 0
for g in groups:
print(str(i) + "- " + g.title)
i += 1
g_index = input("Введите нужную цифру: ")
target_group = groups[int(g_index)]
print("Начинаем собирать пользователей из группы...")
all_participants = []
all_participants = client.get_participants(target_group)
print("Сохраняем данные в файл GroupMembers.csv...")
with open("GroupMembers.csv", "w", encoding="UTF-8") as f:
writer = csv.writer(f, delimiter=",", lineterminator="\n")
writer.writerow(["username", "name", "group"])
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, name, target_group.title])
print("Файл GroupMembers.csv создан. В нем сохранены все нужные вам пользователи.")
Если скрипт жалуется, что нет библиотеки telethon, то установите ее:
pip install telethon
Всем добра и используйте систему построения сквозной аналитики и сбора данных:
А как бы ещё скрипт для рассылки получить 🤔😂
Надо запустить рекламу, а цены кусаются.
Аня, привет.
Конкретизируй задачу, пожалуйста.
Что, кому, куда и как рассылать нужно?
И что значит - кусаются для тебя?
Иван, вы гений! Только код спизженный со статьи SkillBox. А так же этот парсер имеет лимит в сбор 10к участников. В моей разработке лимита нет 0_0.
а можно поинтересоваться, как вы обошли этот лимит, никак в голову не приходит
За парсингом ко мне: https://t.me/AlexandrTerminator спарсю всё и даже больше! (это не шутка!)