Привет, Хабр! В данном посте я бы хотел поделиться с сообществом моим способом автоматизации слежения за ценами товаров на ebay.
Зачем? Каждому свое, а мне захотелось купить подешевле. Итак, прошу под кат.


1. Отступление


Пожалуй начну с лирического отступления, если кому не интересно, то прошу сразу перейти к пункту 2.

Однажды захотелось мне поменять свой «китайпланшет» на iPad 4. В то время в РБ цена ему была $600, а на ebay варьировалась от редких $300 до $450 в среднем. Плюс доставка, плюс растаможка, но это уже дело десятое. Но есть проблема — дешевые лоты редко появляются и быстро скупаются. Так что остается 2 выхода: или сидеть и мониторить их, или автоматизировать этот процесс. Собственно по второму пути я и решил пойти. Тем более, что в голове уже назревали планы дальнейших покупок.

2. Проектирование


Механизм задумывался не сложный:
  • Заходим на ebay, конфигурируем поисковой запрос (отмечаем все необходимые параметры в фильтре и указываем сортировку).
  • Создаем на сайте бота, вводим название, ссылку с поисковым запросом, целевую стоимость, при которой будет совершено действие и выбираем действие.


Сразу же хотелось реализовать такой функционал:
  • Системой могут пользоваться несколько пользователей
  • У каждого пользователя может быть несколько ботов
  • Бот может прислать оповещение на email, по SMS
  • Бот может сделать ставку или покупку от ebay аккаунта пользователя
  • Логирование всех изменений цен в разделе с последующим выводом на графике.


Далее на сервере заводится крон и система работает 24х7.

3. Инструментарий


  • Был выбран PHP фреймвор Yii
  • Для «вебморды» Javascript фреймвор jQuery
  • Вымудряться с ebay API я не стал и пошел нагло «в лоб» парсить загружаемые CURL'ом страницы при помощи PHP библиотеки PHP Simple HTML DOM Parser


4. Интерфейс


Ниже привожу скриншоты основных страниц, доступных для авторизованного пользователя.
Страница со списком ботов пользователя.
У каждого бота есть «прайсометр», чем холоднее тем выгоднее цена.
Кнопки:
  • Включить/Выключить
  • Переход на раздел на ebay
  • Спящий смайлик говорит о том что сейчас нет выгодных предложений, когда они есть, то там будет будильник (по клику переход на дешевый товар)
  • Редактирование бота
  • Просмотр информации о боте



Страница информации о боте:
  • Текущие наивыгодные лоты.
  • График изменения цен в разделе



Страница редактирования бота:


Страница с графиками изменения цен активных ботов:


5. Использование



В процессе использования были обнаружены следующие проблемы:
Некоторые продавцы добавляют товары не в те разделы. В основном это какие-нибудь аксессуары и запчасти. Еще бывают клоны, как какие-нибудь китайские клоны айфонов. Поэтому возможность ботам делать покупки самостоятельно я до сих пор не сделал.
Вторая проблема это недобросовестные продавцы, попросту кидалы. Чаще всего это свежезарегистрированные пользователи с нулевой репутацией. Иногда это «угнанные» чужие аккаунты с репутацией, но без недавней активности. Или же аккаунты продавцов, которые продавали например запчасти для автомобилей, и внезапно начали продавать мобильные телефоны.
Перед тем как я себе успешно купил iPad и Mac Mini у меня было 8 рефандов. 2 из них были от самих продавцов, а остальные от PayPal (спасибо ebay buyer protection, она действует)

Поднабравшись опыта, я таки прикупил желаемые девайсы по выгодным ценам и даже с учетом доставки и растаможки. Сайтом еще периодически пользуется пару моих знакомых. Но дальнейшей жизни сайта я не вижу. Засим решил поделиться проектом с хабрасообществом и надеюсь на дальнейшее развитие/эволюцию проекта.

Ссылка на рабочий сайт: http://selplay.com
Регистрации на время отключены ибо мой сервер не выдержит, если все начнут сейчас регистрироваться и создавать ботов. (надеюсь он от простых посетителей не упадет)

Ссылочка на репозиторий в bitbucket: https://bitbucket.org/dvman8bit/yii_ebay_bot

В завершение хотелось бы добавить, что я очень рассчитываю на развитие проекта или его возможную эволюцию в какой-нибудь полезный сообществу проект.

А если кто-нибудь не против угостить автора пивком (-;
Z338194344291
R542689573463
410011807856335


P.S. Если кому-то необходимо зарегистрироваться, то пишите в ПМ.

UPD: Добавил инструкцию по установке и дамп базы в репозиторий
UPD2: Добавил возможность регистрации по инвайтам. За инвайтом стучитесь ко мне. Открыть регистрацию для всех всех пока не могу. И просьба к получившим инвайт: «Не забрасывайте сайт ботами, пожалуйста. Боюсь сервер не выдержит.»

Небольшая инструкция как создавать ботов:
1. Открываете ebay и формируете поисковой запрос. Отмечаете необходимые свойства в фильтре. Желательно указать ценовой диапазон.
2. Выставляете сортировку «Price + shipping: lower first»
3. Указываете куда доставка
4. Копируете ссылку
5. Вставляете в нужное поле боту