Парсеры
При любом подозрении на ошибку или изменение структуры HTML сайта парсер должен происходить exteption. Парсеры разрабатываются не для разового ручного запуска.
raise ParserError, 'Ошибка парсера - изменилось то то и то то'
- Парсер должен наследовать от ParserBase
- Парсер должен переопределять методы init и parse.
- Парсер может создавать категории и наборы опций. Категории могут быть вложенными (не более 1 уровня). Как сделать вложенные категории: https://github.com/glebtv/mongoid_nested_set
- Ссылка на картинку - в максимальном имеющемся разрешении. Обычно, при клике на картинку на сайте можно увидеть версию бОльшего размера, нужна именно эта версия.
- Файл парсера - с дефисами, название класса Parser + название ресторана
- Примеры парсеров - в папке parsers (пример simple - понятный и простой, но не рабочий.)
Подготовка к работе
- Установить MongoDB (http://www.mongodb.org/), или создать бесплатный аккаунт на любом mongodb-хостинге (https://mongohq.com/home, https://mongolab.com/home)
- Установить Ruby 1.9.3
- gem install bundler && bundle install
Запуск парсера
./run.rb corleone-pizza