Простенький скрипт для парса лолз разделов Скрипт считает все темы в разделе и отправляет в телеграм Работает по тупому через selenium c буквальной эмуляцией брауза Задержки +- нормально настроены чтоб не грузить лолзик парсер import os import time import requests from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.options import Options TELEGRAM_TOKEN = "ваш токен бота" TELEGRAM_CHAT_ID = "чат айди" def init_driver(): options = Options() options.headless = False # тут ставите тру ес не нужно окно хрома user_data_dir = os.path.join(os.getcwd(), "chrome_profile") # содздает вам профиль отдельный войдите в аккаунт лолза и все чики пуки чат гпт в помощь profile_dir = "SeleniumProfile" options.add_argument(f"--user-data-dir={user_data_dir}") options.add_argument(f"--profile-directory={profile_dir}") options.add_argument("--start-maximized") options.add_argument("--disable-notifications") options.add_argument("--disable-popup-blocking") print(" Запуск Chrome с профилем...") driver = webdriver.Chrome(options=options) return driver def get_threads_on_page(driver): time.sleep(1.2) threads = driver.find_elements(By.CSS_SELECTOR, "div.discussionListItem a.PreviewTooltip, div.discussionListItem a.structItem-title") valid_threads = [(t.get_attribute("href"), t.text.strip()) for t in threads if t.get_attribute("href") and t.text.strip()] return valid_threads def send_telegram_message(token, chat_id, message): url = f"https://api.telegram.org/bot{token}/sendMessage" try: response = requests.post(url, data={'chat_id': chat_id, 'text': message}) if response.status_code == 200: print(" Успешно отправлено в Telegram.") else: print(f"Не удалось отправить сообщение. Код: {response.status_code}") except Exception as e: print(f" Ошибка при отправке: {e}") def main(): driver = init_driver() total_threads = 0 try: for page in range(1, 11): url = f"https://lolz.live/forums/contests/?last_post_user_id=0&page={page}" # вот к примеру я писал парс страницы для розыгрышей их общее колВо print(f" Открытие страницы {page}") driver.get(url) time.sleep(1.5) threads = get_threads_on_page(driver) count = len(threads) print(f" Найдено {count} розыгрышей на странице {page}") total_threads += count print(f"\nВсего тем найдено: {total_threads}") if TELEGRAM_TOKEN and TELEGRAM_CHAT_ID: send_telegram_message(TELEGRAM_TOKEN, TELEGRAM_CHAT_ID, f" Всего тем найдено на указаных страницах: {total_threads}") except Exception as e: print(f"Произошла ошибка: {e}") finally: driver.quit() if __name__ == "__main__": main() Python import os import time import requests from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.options import Options TELEGRAM_TOKEN = "ваш токен бота" TELEGRAM_CHAT_ID = "чат айди" def init_driver(): options = Options() options.headless = False # тут ставите тру ес не нужно окно хрома user_data_dir = os.path.join(os.getcwd(), "chrome_profile") # содздает вам профиль отдельный войдите в аккаунт лолза и все чики пуки чат гпт в помощь profile_dir = "SeleniumProfile" options.add_argument(f"--user-data-dir={user_data_dir}") options.add_argument(f"--profile-directory={profile_dir}") options.add_argument("--start-maximized") options.add_argument("--disable-notifications") options.add_argument("--disable-popup-blocking") print(" Запуск Chrome с профилем...") driver = webdriver.Chrome(options=options) return driver def get_threads_on_page(driver): time.sleep(1.2) threads = driver.find_elements(By.CSS_SELECTOR, "div.discussionListItem a.PreviewTooltip, div.discussionListItem a.structItem-title") valid_threads = [(t.get_attribute("href"), t.text.strip()) for t in threads if t.get_attribute("href") and t.text.strip()] return valid_threads def send_telegram_message(token, chat_id, message): url = f"https://api.telegram.org/bot{token}/sendMessage" try: response = requests.post(url, data={'chat_id': chat_id, 'text': message}) if response.status_code == 200: print(" Успешно отправлено в Telegram.") else: print(f"Не удалось отправить сообщение. Код: {response.status_code}") except Exception as e: print(f" Ошибка при отправке: {e}") def main(): driver = init_driver() total_threads = 0 try: for page in range(1, 11): url = f"https://lolz.live/forums/contests/?last_post_user_id=0&page={page}" # вот к примеру я писал парс страницы для розыгрышей их общее колВо print(f" Открытие страницы {page}") driver.get(url) time.sleep(1.5) threads = get_threads_on_page(driver) count = len(threads) print(f" Найдено {count} розыгрышей на странице {page}") total_threads += count print(f"\nВсего тем найдено: {total_threads}") if TELEGRAM_TOKEN and TELEGRAM_CHAT_ID: send_telegram_message(TELEGRAM_TOKEN, TELEGRAM_CHAT_ID, f" Всего тем найдено на указаных страницах: {total_threads}") except Exception as e: print(f"Произошла ошибка: {e}") finally: driver.quit() if __name__ == "__main__": main() где то за 30 секунд мне все посчитал итог Простой парсер
228, да хуй знает просто так, скучно было решил запостить часть своего кода, это больше как патерн под улучшение э
228, к сожалению да, кто захочет улучшить может просто мб как тул для собственной разработки + можно и не под лолз делать, там лего понять и настроить под любой сайт
safepal, я вообще если честно не понимаю нахуй как им пользоватся, я такой кек еще в питончиках я пытался даже с гпт написать код для работы с апи пост запросами лолза но ПИЗДааааа ничо не понял
https://lolzteam.readme.io/reference/threadslist Айди раздела с розыгрышами - 766. В путь. А скрипт имхо костыльный