Загрузка...

Parser does not start, help

Thread in Python created by Trump Jul 27, 2025 at 11:55 PM. 301 view

  1. Trump
    Trump Topic starter Jul 27, 2025 at 11:55 PM :+rep: | USA 217 Aug 15, 2023
    Python
    from pyrogram import Client

    from pyrogram.raw.functions.contacts import Search

    from pyrogram.errors import FloodWait, PeerIdInvalid, UsernameNotOccupied

    import time



    # Укажи свой api_id и api_hash

    api_id = АПИ ИД

    api_hash = "АПИХЕШ"



    def main():

    chats = set()



    # Загрузка поисковых запросов

    with open('queries.txt', encoding='utf-8') as file:

    queries = [q.strip() for q in file if q.strip()]



    with Client("session", api_id, api_hash) as client:

    for query in queries:

    try:

    result = client.invoke(Search(q=query, limit=100))

    except FloodWait as e:

    print(f"FloodWait: спим {e.value} секунд")

    time.sleep(e.value)

    continue

    except Exception as e:

    print(f"Ошибка при поиске {query}: {e}")

    continue



    for chat in result.chats:

    username = chat.username



    # Если это канал без username, попробуем взять его у привязанного чата

    if not username and not chat.megagroup and not chat.gigagroup:

    try:

    full_chat = client.get_chat(chat.id)

    linked_chat = getattr(full_chat, "linked_chat", None)

    if linked_chat and linked_chat.username:

    username = linked_chat.username

    except (PeerIdInvalid, UsernameNotOccupied, Exception):

    continue



    if username:

    print(f"[{query}] — @{username}")

    chats.add(username)



    # Чтение уже сохранённых чатов

    try:

    with open('result_chats.txt', 'r', encoding='utf-8') as file:

    existing = set(line.strip() for line in file if line.strip())

    except FileNotFoundError:

    existing = set()



    # Запись новых

    new_chats = chats - existing

    if new_chats:

    with open('result_chats.txt', 'a', encoding='utf-8') as file:

    for chat in sorted(new_chats):

    file.write(f"{chat}\n")



    if name == "main":

    try:

    main()

    except (KeyboardInterrupt, SystemExit):

    print("Прервано пользователем.")
    [IMG]
    вписываю, не реагирует, раньше просило скачать pyrogram и tgcrypto, скачал и перестал работать
     
  2. ГИЛТИКУС
    api_id = АПИ ИДapi_hash = "АПИХЕШ"

    Укажи
     
    1. Trump Topic starter
    2. Trump Topic starter
  3. ЧернильныйБро
    ЧернильныйБро Jul 27, 2025 at 11:56 PM На подарок близкому человеку до 20 августа - 10.000₽/15.000₽
    Апи хеш и айди указал? На дедике с линуксом пробовал?
     
    1. View previous comments (2)
  4. десептикон
    python pars. py
     
  5. ГИЛТИКУС
    Python
    from pyrogram import Client
    from pyrogram.raw.functions.contacts import Search
    from pyrogram.errors import FloodWait, PeerIdInvalid, UsernameNotOccupied
    import time

    # Укажи свой api_id и api_hash
    api_id = YOUR_API_ID
    api_hash = "YOUR_API_HASH"

    async def main():
    chats = set()

    # Загрузка поисковых запросов
    with open('queries.txt', encoding='utf-8') as file:
    queries = [q.strip() for q in file if q.strip()]

    async with Client("session", api_id, api_hash) as client:
    for query in queries:
    try:
    result = await client.invoke(Search(q=query, limit=100))
    except FloodWait as e:
    print(f"FloodWait: спим {e.value} секунд")
    time.sleep(e.value)
    continue
    except Exception as e:
    print(f"Ошибка при поиске {query}: {e}")
    continue

    for chat in result.chats:
    username = chat.username

    # Если это канал без username, попробуем взять его у привязанного чата
    if not username and not chat.megagroup and not chat.gigagroup:
    try:
    full_chat = await client.get_chat(chat.id)
    linked_chat = getattr(full_chat, "linked_chat", None)
    if linked_chat and linked_chat.username:
    username = linked_chat.username
    except (PeerIdInvalid, UsernameNotOccupied, Exception):
    continue

    if username:
    print(f"[{query}] — @{username}")
    chats.add(username)

    # Чтение уже сохранённых чатов
    try:
    with open('result_chats.txt', 'r', encoding='utf-8') as file:
    existing = set(line.strip() for line in file if line.strip())
    except FileNotFoundError:
    existing = set()

    # Запись новых
    new_chats = chats - existing
    if new_chats:
    with open('result_chats.txt', 'a', encoding='utf-8') as file:
    for chat in sorted(new_chats):
    file.write(f"{chat}\n")

    if __name__ == "__main__":
    import asyncio
    try:
    asyncio.run(main())
    except (KeyboardInterrupt, SystemExit):
    print("Прервано пользователем.")
    Попробуй
     
    1. View previous comments (23)
    2. ФРУТС
  6. h3artkrush
    h3artkrush Jul 27, 2025 at 11:57 PM вип клиент в любом заведении
    if name == "__main__": на if __name__ == "__main__":
     
    1. View previous comments (3)
    2. Trump Topic starter
      h3artkrush, тож не реагирует, ща 3,10 питон попробую
    3. MALWARE
      h3artkrush, там бы была ошибка о том что нет переменной main, скорее всего у него __ не вставилось просто
  7. MALWARE
    MALWARE Jul 28, 2025 at 12:10 AM мяукаю 12,018 Mar 12, 2021
    у тебя он не вылетает, значит он работает, запущен без ошибок
     
    1. View previous comments (2)
    2. MALWARE
      Trump,
      Python

      from pyrogram import Client
      from pyrogram.raw.functions.contacts import Search
      from pyrogram.errors import FloodWait, PeerIdInvalid, UsernameNotOccupied
      import time

      api_id = АПИ_ИД
      api_hash = "АПИХЕШ"

      def main():
      print("Запуск программы...")
      chats = set()

      try:
      with open('queries.txt', encoding='utf-8') as file:
      queries = [q.strip() for q in file if q.strip()]
      print(f"Загружено {len(queries)} запросов")
      except FileNotFoundError:
      print("ОШИБКА: файл queries.txt не найден!")
      return

      if not queries:
      print("ОШИБКА: список запросов пуст!")
      return

      print("Подключение к Telegram...")
      with Client("session", api_id, api_hash) as client:
      print("Подключение успешно!")

      for i, query in enumerate(queries, 1):
      print(f"Обработка запроса {i}/{len(queries)}: '{query}'")

      max_retries = 3
      retry_count = 0

      while retry_count < max_retries:
      try:
      result = client.invoke(Search(q=query, limit=100))
      break
      except FloodWait as e:
      print(f"FloodWait для запроса '{query}': спим {e.value} секунд")
      time.sleep(e.value)
      retry_count += 1
      except Exception as e:
      print(f"Ошибка при поиске '{query}': {e}")
      break
      else:
      print(f"Превышено количество попыток для запроса '{query}'")
      continue

      if 'result' not in locals():
      continue

      found_chats = 0
      for chat in result.chats:
      username = chat.username

      if not username and not chat.megagroup and not chat.gigagroup:
      try:
      full_chat = client.get_chat(chat.id)
      linked_chat = getattr(full_chat, "linked_chat", None)
      if linked_chat and linked_chat.username:
      username = linked_chat.username
      except (PeerIdInvalid, UsernameNotOccupied, Exception):
      continue

      if username:
      print(f"[{query}] — @{username}")
      chats.add(username)
      found_chats += 1

      print(f"Найдено {found_chats} чатов для запроса '{query}'")
      time.sleep(1)

      try:
      with open('result_chats.txt', 'r', encoding='utf-8') as file:
      existing = set(line.strip() for line in file if line.strip())
      except FileNotFoundError:
      existing = set()

      new_chats = chats - existing
      if new_chats:
      with open('result_chats.txt', 'a', encoding='utf-8') as file:
      for chat in sorted(new_chats):
      file.write(f"{chat}\n")
      print(f"Добавлено {len(new_chats)} новых чатов")
      else:
      print("Новых чатов не найдено")

      print(f"Всего уникальных чатов: {len(chats)}")

      if __name__ == "__main__":
      try:
      main()
      except (KeyboardInterrupt, SystemExit):
      print("Прервано пользователем.")
      except Exception as e:
      print(f"Неожиданная ошибка: {e}")
      попробуй
    3. Trump Topic starter
      MALWARE, [IMG]погнало, благодарю 2 раз выручаешь
    4. MALWARE
      Trump, я добавил ****. теперь стало ясно, что проблема конкретно на моменте подключения к телеграм. может, попробовать ***?
    5. View the next comments (6)
  8. Trump
    Trump Topic starter Jul 28, 2025 at 12:44 AM :+rep: | USA 217 Aug 15, 2023
    2 проблема [IMG]
     
Top
Loading...