Задать вопрос
@d3d_ins

Почему переменная all_participants принимает только 10000 значений, а не больше при парсинге?

from telethon.sync import TelegramClient

import csv

from telethon.tl.functions.messages import GetDialogsRequest
from telethon.tl.types import InputPeerEmpty
api_id =
api_hash = ''
phone_number = ''
client = TelegramClient(phone_number, api_id, api_hash, system_version="4.16.30-vxCUSTOM")

client.start()

chats = []
last_date = None
size_chats = 200
groups = []

result = client(GetDialogsRequest(
offset_date=last_date,
offset_id=0,
offset_peer=InputPeerEmpty(),
limit=size_chats,
hash=0))

chats.extend(result.chats)

for chat in chats:
try:
if ("Chat" in str(type(chat))) or (chat.megagroup == True):
if chat.title not in [i.title for i in groups]:
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('Сохраняем данные в файл...')

with open("members.csv", "w", encoding='UTF-8') as f:
writer = csv.writer(f, delimiter=",", lineterminator="\n")
writer.writerow(['username'])
for user in all_participants:
if user.username:
username = "@" + user.username
else:
username = ""
writer.writerow([username])
print('Парсинг участников группы успешно выполнен.')
  • Вопрос задан
  • 211 просмотров
Подписаться 2 Простой 2 комментария
Решения вопроса 1
Mike_Ro
@Mike_Ro Куратор тега Python
Python, JS, WordPress, SEO, Bots, Adversting
Почему переменная all_participants принимает только 10000 значений, а не больше при парсинге?

"Особенность" Telethon
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы