Здравствуйте. Нужно написать скрипт/ программу/бот для выкупа елочных игрушек. Я шарю в этом, могу и сама написать, но сейчас других дел очень много. Покупаются они на сайте. Там аукцион. В 11 утра какого-то дня появляется игрушка. Об этом дне известно за неделю примерно. Изначально в личном кабинете заполнены уже данные, фио и ближайший твой пункт выдачи. И ты добавляешь её в корзину и покупаешь. Тираж игрушек 1500-2000 штук. Так вот в 11 утра и 0.00001 миллисекунду уже ни одной нет. То есть их выкупают боты. Таких умельцев штук 7 уже есть. Короче задача написать что-то, что обгонит других ботов и будет выкупать максимально количество игрушек. Капчи там нет. (Но она может появиться в будущем, надо предусмотреть эту возможность.
Сайт на битриксе.
Создание бота для «перехвата» редких товаров (так называемого «снайпинга») это технически сложная задача, так как вам нужно соревноваться не только с людьми, но и с другими профессионально написанными ботами.
Сайт работает на системе Bitrix. Это дает нам понимание того, как он обрабатывает запросы.
Вот пошаговый алгоритм, как это реализуется технически:
1. Анализ сетевого запроса. Бот должен работать не через «кнопки», а через прямые HTTP-запросы к серверу.
2. Написание каркаса бота
Бот должен делать следующее:
• Авторизация: Заранее зайти под вашим логином и паролем и сохранить «куки» (cookies), чтобы сервер понимал, что это вы.
• Цикл проверки: Бот должен за несколько секунд до 11:00 начать засыпать сервер запросами «добавить в корзину» для конкретного ID товара.
Пример логики на Python:
import requests
import time
# Данные вашей сессии (нужно взять из браузера после входа)
cookies = {'BITRIX_SM_LOGIN': 'your_login', 'PHPSESSID': 'your_id'}
url = "
" # Пример пути
product_id = "12345" # ID игрушки, которую вы ждете
def buy():
payload = {
'action': 'ADD2BASKET',
'id': product_id,
'quantity': '10' # Если хотите сразу много
}
while True:
# Ждем наступления 11:00:00
response = requests.post(url, data=payload, cookies=cookies)
if response.status_code == 200:
print("Попытка добавления...")
# Если в ответе "success", значит игрушка в корзине
break
Что надо предусмотреть :
1. Синхронизация времени: Время на вашем компьютере должно быть идеально точным (используйте NTP-серверы), так как старт идет секунда в секунду.
2. Многопоточность: Бот должен слать не один запрос, а десятки в секунду из разных «потоков» за 1-2 секунды до старта.
3. Удаленный сервер: Скрипт лучше запускать не из дома, а с сервера (VPS), который находится в Москве (ближе к серверам сайта), чтобы задержка сигнала (пинг) была минимальной (1-2 мс вместо ваших домашних 30-50 мс). Но кстати он вроде не в мск. Надо понять где точно.
Ограничения:
• Бан по IP: Если слать запросы слишком часто, сайт заблокирует ваш IP. Нужны прокси-серверы.
• Лимиты: Bitrix часто ограничивает покупку «в одни руки». Чтобы выкупить весь тираж, вам может понадобиться 10 разных аккаунтов. Не обязательно на Пайтоне.
Подскажите что по цене и что по срокам?