кароче - тип продаёт за целых 5к рублей софт ( его тема: ) я написал почти такой же код, с доработанными функциями и Бесплатно КАК ВКЛЮЧИТЬ ? ( настройки ) Замените https://example.com/login и https://example.com/marketplace на реальные URL сайта Добавьте свои учетные данные в список accounts Настройте целевые цены в словаре target_prices Расширенные функции: Для фильтрации по номеру подарка добавьте проверку в метод buy_gift() Для использования разных цен в зависимости от фона/модели модифицируйте словарь target_prices запуск python как вы назовёте файл.py код: Код import time import requests from bs4 import BeautifulSoup from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC class SnatchGiftsBot: def __init__(self, accounts, target_prices, recipient=None): """ Инициализация бота :param accounts: список словарей с учетными данными ({'username': '', 'password': ''}) :param target_prices: словарь целевых цен для подарков ({'Desk Calendar': 150, ...}) :param recipient: юзернейм получателя подарков (None если себе) """ self.accounts = accounts self.target_prices = target_prices self.recipient = recipient self.drivers = [] self.session = requests.Session() def login(self, account): """Авторизация одного аккаунта""" driver = webdriver.Chrome() driver.get("https://example.com/login") # Замените на реальный URL username_field = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.NAME, "username")) password_field = driver.find_element(By.NAME, "password") username_field.send_keys(account['username']) password_field.send_keys(account['password']) driver.find_element(By.XPATH, "//button[@type='submit']").click() WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.ID, "main_page"))) return driver def setup_accounts(self): """Авторизация всех аккаунтов""" for account in self.accounts: try: driver = self.login(account) self.drivers.append(driver) print(f"Успешный вход для {account['username']}") except Exception as e: print(f"Ошибка входа для {account['username']}: {str(e)}") def scan_gifts(self): """Сканирование подарков на предмет выгодных предложений""" while True: for driver in self.drivers: try: driver.get("https://example.com/marketplace") # Замените на URL перепродажи # Ожидание загрузки списка подарков WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.CLASS_NAME, "gift-item"))) # Парсинг списка подарков gifts = driver.find_elements(By.CLASS_NAME, "gift-item") for gift in gifts: name = gift.find_element(By.CLASS_NAME, "gift-name").text price = int(gift.find_element(By.CLASS_NAME, "gift-price").text) # Проверка, соответствует ли подарок нашим критериям if name in self.target_prices and price <= self.target_prices[name]: self.buy_gift(driver, gift) break except Exception as e: print(f"Ошибка сканирования: {str(e)}") continue # Пауза между сканированиями time.sleep(1) def buy_gift(self, driver, gift_element): """Покупка подарка""" try: # Клик по подарку для открытия деталей gift_element.click() # Ожидание кнопки покупки buy_button = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.XPATH, "//button[contains(text(), 'Купить')]"))) # Если указан получатель if self.recipient: recipient_field = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.NAME, "recipient"))) recipient_field.send_keys(self.recipient) # Подтверждение покупки buy_button.click() # Подтверждение в модальном окне confirm_button = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.XPATH, "//button[contains(text(), 'Подтвердить')]"))) confirm_button.click() print(f"Успешно куплен подарок по выгодной цене!") except Exception as e: print(f"Ошибка при покупке подарка: {str(e)}") def run(self): """Запуск бота""" self.setup_accounts() if not self.drivers: print("Нет активных аккаунтов для работы") return print("Бот запущен и начал сканирование...") self.scan_gifts() # Пример использования if __name__ == "__main__": # Настройки аккаунтов accounts = [ {'username': 'user1', 'password': 'pass1'}, {'username': 'user2', 'password': 'pass2'} ] # Целевые цены (из вашего примера) target_prices = { 'Desk Calendar': 150, 'B-Day Candle': 325, 'Xmas Stocking': 330, 'Lol Pop': 370, 'Lunar Snake': 375, 'Candy Cane': 390, 'Homemade Cake': 425, 'Snake Box': 438 } # Создание и запуск бота bot = SnatchGiftsBot( accounts=accounts, target_prices=target_prices, recipient="target_user" # None если покупать себе ) bot.run()
Тема топ Если кому не сложно помогите с https://example.com/login и https://example.com/marketplace. Где их брать?