Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Грабер для авто портала

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Мой опыт написания грабера для моего проекта
herecar
Отправлено: 28 Мая, 2015 - 12:56:45
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Янв. 2015  


Помог: 0 раз(а)




Примерно год назад мне в голову пришла идея создать доску авто объявлений.
И естественно мне хотелось добавить туда несколько фич свойственных крупным порталам, в частности некий аналог авто заполнения формы при подачи объявления т.е. выбираю год - скрипт выдает список доступных марок которые выпускали модели в этот год, выбираю марку - скрипт выдает список доступных моделей и.т.д.
Как это реализовать понятно.
Но где взять базу для реализации данного алгоритма?
Мысль об вводила меня в отчаянье.
Долгие ночи поиска не приводили к желаемому результату т.к. мне хотелось найти идеальный вариант, а их мне найти не удалось.
Мой идеал это:
Итак есть популярные ресурсы где можно было "спарсить" нужную мне инфу для базы.
На тот момент (год назад) на ресурсе использовался старый интерфейс.
И данные с сервера отправлялись примерно в таком виде
CODE (javascript):
скопировать код в буфер обмена
  1. var data = new Array();
  2. data['modification_id'] = new Array();
  3. data['modification_id']['options'] = [
  4.  
  5. ];
  6. updateSelect('modification_id','sale',"rotateModification('text', 1)");
  7. unlinkData();


т.е. сервер на запрос с клиента по ajax возвращал чистый js который потом выполнялся в браузере через eval().
Худо бедно бессонными ночами мне удалось спарсить весь каталог.
Но время идет и каталог надо обновлять, а повторно тратить пару суток на парс не очень хотелось.
И вот настал тот прекрасный день когда на "ресурсе" обновили интерфейс, но это не столь важно нежели то что происходило между интерфейсом и сервером.
Разработчики разродились на JSON, и это положило старт новой эпопеи.
Я понимал что этим надо воспользоваться в полной мере и начал разбираться что куда надо отправить что-бы получить нужные данные (см. под спойлером).
И вот за пару дней мной был написан скрипт для автоматического "высасывания" всех данных, всех до последней капли.
И еще день что-бы все слить к себе в базу.
Вот такой каталог получился.

Ну и для тех кому надо. думаю разберетесь.
Спойлер (Отобразить)


Кому нужна база или скрипт пишите в личку договоримся.

(Отредактировано автором: 09 Сентября, 2015 - 09:18:43)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Наработки по собственным проектам »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB