Задача была в парсинге Телеграм по гео-локации.
import json
import time
import requests
# Замените YOUR_API_ID и YOUR_API_HASH на свои значения
api_id = '...'
api_hash = '...'
# Авторизация в Telegram API
from telethon import TelegramClient
client = TelegramClient('session_name', api_id, api_hash)
client.start()
# Получение списка пользователей в заданной гео-локации
def get_users_by_location(latitude, longitude, radius):
url = f'https://api.telegram.org/bot{api_id}:{api_hash}/search/getNearbyUsers'
params = {
'latitude': latitude,
'longitude': longitude,
'radius': radius
}
response = requests.post(url, data=params)
data = json.loads(response.text)
users = data['result']['users']
return users
# Список локаций
locations = [
{'latitude': 55.7522, 'longitude': 37.6156, 'radius': 1000},
{'latitude': 55.7558, 'longitude': 37.6173, 'radius': 500},
{'latitude': 55.7585, 'longitude': 37.6011, 'radius': 1500}
]
# Множество для хранения идентификаторов пользователей
processed_users = set()
# Бесконечный цикл для повторения парсинга каждые 20-30 минут
while True:
for location in locations:
latitude = location['latitude']
longitude = location['longitude']
radius = location['radius']
users = get_users_by_location(latitude, longitude, radius)
for user in users:
user_id = user['id']
if user_id not in processed_users:
# Обработка пользователя
# ...
# Добавление идентификатора пользователя в множество
processed_users.add(user_id)
# Пауза на 20-30 минут
time.sleep(20 * 60) # 20 минут
# time.sleep(30 * 60) # 30 минут
Выдает такую ошибку:
Скриншот фрагмента кода удалён модератором.