Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Написание бота для скандинавского аукциона

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Написание бота для скандинавского аукциона
Имя
Сообщение << Старые топики   Новые топики >>
Написание бота для скандинавского аукциона - 2009-02-19 21:58:45.903333   
Oleg_Ci

Сообщений: 5
Оценки: 0
Присоединился: 2009-02-19 21:34:45.586666
Здравствуйте.
Идея есть, написать бота для скандинавских аукционов.
Есть цель создать сайт на тематику этих аукционов, этого бота там выложу, может продать получиться.
 
Если кто-то ещё не в курсе что такое “скандинавский аукцион” делаю небольшое пояснение.
В интернете появились сайты на которых товары продаются следующим образом, выкладывается товар с нулевой стоимостью, есть таймер отсчитывающий секунды до нуля, есть кнопка с надписью “Сделать Ставку”, если кто-нибудь нажимает на эту кнопку (делает ставку), тогда таймер увеличивается на какое-то количество секунд, а стоимость этого товара повышается, на 25 копеек или на 10 коп. (стоимость ставки от 5 до 10 рублей), если уменьшающийся таймер достиг нуля, тогда сделавший последнюю ставку забирает товар по стоимости которая набежала за период “торгов”(обычно не более 10-20% от реальной стоимости).
Суть сего действия в том чтобы часами (днями) сидеть и нажимать кнопку ”сделать ставку”, и чтоб после тебя никто не нажал, тогда таймер достигнет нуля, и ты (последний нажавший) заберешь товар “по дешёвке” (Конечно не считая количества слитых денег на ставки). Проигравшим вроде отдают часть денег, помойму 75%(или 50%). Я в цифрах могу ошибаться.
 
 
Сейчас я имею следующие результаты:
Пишу бота на С++ MFC.
Создал проект с классом представления производным от CHtmlView,
получил указатели на элементы (кнопку “сделать ставку”, строки с логином и суммой) такого вида



CComQIPtr<IHTMLElement, &IID_IHTMLElement> m_pButton; // указатель на кнопку


Читаю(element->get_innerText(..)) логины, суммы, вычисляю время нажатия на кнопку, перемещаю указатель на кнопку для нажатия или фокус ввода на кнопку делаю для эмуляции нажатия клавиши Enter, “нажимаю” на кнопку при помощи api-функций


1)      mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0); // down + up
2)      keybd_event(VK_RETURN,MapVirtualKeyA(VK_RETURN,0),0,0); //Enter
 
Бот работает (нажимает на кнопку делая ставки).
В общем я пытался идти от javascript языка и таких конструкций:
var idBut = document.getElementById("button_296"); // получаем элемент-кнопку
idBut.click(); // нажимаем на кнопку
 


Вопросы у меня такие:
1) сервер аукциона думает что я подключаюсь через IExplorer ?
2) главное, как могут моего бота обнаружить? Мне кажется, обнаружить, можно только через “язык JavaScript”, например написать функцию которая за поведением мыши наблюдать будет (перемещения указателя).




Интересно также ваше мнение о том, как правильно писать подобных ботов надо (и чтоб необнаружили их на сервере аукциона).
 
(И ещё один вопрос не в раздел С++ но может здесь кто знает - есть также бот написанный на JavaScript, как его засечь можно?)

Post #: 1
RE: Написание бота для скандинавского аукциона - 2009-02-19 22:03:18.673333   
FriLL

Сообщений: 2539
Оценки: 335
Присоединился: 2007-08-11 17:14:26.703333
quote:

сервер аукциона думает что я подключаюсь через IExplorer ?

насколько я знаю это значенеи передаеться в поле User-Agent 
http заголовка
Post #: 2
RE: Написание бота для скандинавского аукциона - 2009-02-19 23:22:17.413333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Это напоминает мне лекцию одного профессора, который объяснял, как за 20$ можно заработать 200 и более. Суть такая: он продаёт 20 баксов, стартовая цена на них - 1$. Поднимать ставку по 1$. Выигрывает тот, кто сделает более выгодное предложение, но человек, давший 2-ю по величине ставку должен также выплатить сумму, которую он назвал (например, я купил 20$ за 15, то я отдаю 15, а предыдущий чел - 14). Таким образом наблюдалась очень пикантная ситуация, когда стоимость 20$ переваливала за 20. А профессор всего лишь хотел показать этой лекцией, что иногда стоит заранее остановиться с минимальными убытками, чем дарить свои деньги чужим людям.
Post #: 3
RE: Написание бота для скандинавского аукциона - 2009-02-20 16:48:54.080000   
Oleg_Ci

Сообщений: 5
Оценки: 0
Присоединился: 2009-02-19 21:34:45.586666
Проверил свои браузеры и бота, вот таким штуками
quote:

JavaScript:
alert(
&nbsp;&nbsp;&nbsp; navigator.userAgent + "\n" +
&nbsp;&nbsp;&nbsp; navigator.appCodeName + "\n" +
&nbsp;&nbsp;&nbsp; navigator.appName + "\n" +
&nbsp;&nbsp;&nbsp; navigator.appVersion /*+ "\n" + navigator.javaEnabled*/ + "\n" +
&nbsp;&nbsp;&nbsp; navigator.language + "\n" +
&nbsp;&nbsp;&nbsp; navigator.mimeTypes + "\n" +
&nbsp;&nbsp;&nbsp; navigator.plugins);

PHP:
&lt;?php
echo $_SERVER['HTTP_USER_AGENT'];
?&gt;

ничего подозрительного, информацию как у IExplorer показывает.
Post #: 4
RE: Написание бота для скандинавского аукциона - 2009-02-20 20:14:29.406666   
Oleg_Ci

Сообщений: 5
Оценки: 0
Присоединился: 2009-02-19 21:34:45.586666
Ещё мне посоветовали проверить сниффером.

При помощи сниффера HttpAnalyzerStdV3 (методы - Get, Post) проверял Бота, Opera, IExrlorer подключившись к аукциону.
У Бота и IExplorer везде одинаковые параметры, только 1 параметр - Cookie-PHPSessId разные.

Значит сервер считает моего бота браузером IExrlorer.
Post #: 5
RE: Написание бота для скандинавского аукциона - 2009-02-20 20:23:33.920000   
Oleg_Ci

Сообщений: 5
Оценки: 0
Присоединился: 2009-02-19 21:34:45.586666
quote:

насколько я знаю это значенеи передаеться в поле User-Agent&nbsp;
http заголовка
Различий у Бота и IExplorer не необнаружил покашто никаких.

Post #: 6
RE: Написание бота для скандинавского аукциона - 2009-03-05 00:16:05.313333   
FlipLab Software

Сообщений: 179
Оценки: 0
Присоединился: 2007-02-08 01:50:01.693333
А что ебе с пост запросами не работается то?помоему легче сформировать пост запрос отправить и делов то….Уш думаю как пост запросы отловить этому учить не надо…
Post #: 7
RE: Написание бота для скандинавского аукциона - 2009-03-09 12:41:07.153333   
kristalsummers

Сообщений: 63
Оценки: 0
Присоединился: 2008-11-28 19:38:12.070000
а зачем на C++ писать?!
такие скрипты на коленке пишутся, и сервер не может знать бот это или юзер, если заголовки подставлять
есть такая хорошая штука curl ))
ставишь таймауты, чтоб он не бегал как бешеный и запросы посылал
имхо если такой уже бизнес решил устроить, лучше потратить немного больше времени, и написать толковую _систему_ если так можно назвать у которой будет своя БД грабленная другим ботов с другого акк под проксями, а для первого написать некий алгоритм приоритетов для товаров что те важно и на чем можно заработать, и все твой бот будет себе ходить медленно клацать(вернее запросы посылать) с задержками в 5-10 сек и ты будешь доволен что не запалят.
Вот к примеру есть утилита httrack .. вот короче посмотри как она работает с коробки, если не конфигурировать, она для других целей немного, но сам принцип шифровки очень ничего.
Post #: 8
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Написание бота для скандинавского аукциона







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.