@new20leon

Как спарсить с telegram контактов группы/каналов, используя свой аккаунт через python?

Telegram полный пример как от имени своего аккаунта собрать всех пользователей из группы/канала. Собрать все (если есть) аккаунты с фотографиями (не пустыми), никнеймы (если есть), Описание (о себе), когда человек был (если аккаунт был давно, то не брать в расчёт). Вставить в excel-файл.

Не могу начать писать код так, чтобы работал. Где найти полный примеры и как написать?

import configparser
import json

from telethon.sync import TelegramClient
from telethon import connection

# для корректного переноса времени сообщений в json
from datetime import date, datetime

# классы для работы с каналами
from telethon.tl.functions.channels import GetParticipantsRequest
from telethon.tl.types import ChannelParticipantsSearch

# класс для работы с сообщениями
from telethon.tl.functions.messages import GetHistoryRequest





# Считываем учетные данные
config = configparser.ConfigParser()
config.read("config.ini")

# Присваиваем значения внутренним переменным
api_id   = config['Telegram']['api_id']
api_hash = config['Telegram']['api_hash']
username = config['Telegram']['username']

#kontakt_apppp
#kontaktapppp

client = TelegramClient(username, api_id, api_hash)



#proxy = (proxy_server, proxy_port, proxy_key)
#proxy = ('144.76.214.154', '1080', 'secret')


client = TelegramClient(username, api_id, api_hash,
    connection=None,
    proxy=None)



#client = TelegramClient(username, api_id, api_hash,
#    connection=connection.ConnectionTcpMTProxyRandomizedIntermediate,
#    proxy=None)

client.start()


line 49, in client = TelegramClient(username, api_id, api_hash, File "C:\Python38\lib\site-packages\telethon\client\telegrambaseclient.py", line 269, in init session.set_dc( File "C:\Python38\lib\site-packages\telethon\sessions\sqlite.py", line 163, in set_dc self._update_session_table() File "C:\Python38\lib\site-packages\telethon\sessions\sqlite.py", line 189, in _update_session_table c.execute('delete from sessions') sqlite3.OperationalError: database is locked
  • Вопрос задан
  • 1160 просмотров
Пригласить эксперта
Ответы на вопрос 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
Тут в коде два раза создаётся TelegramClient, один из них лочит файл сессии, второй потом валится из-за того, что она залочена первым.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы