Создание парсинга, этапы?
На лету парсить и сразу выдавать результат не получится. Парсить необходимо заранее, помещая результаты поиска в БД. Следует учитывать, что запрашиваемые поисковые фразы требуют полнотекстового поиска в БД.

Парсеры бывают нескольких типов:
1) Простой парсер html для публичных открытых данных. Такой парсер легко сделать, например, на php или nodejs (модуль cheerio справится без проблем).

2) Парсер открытых данных, получаемых через javascript. Тут немного сложнее. Нужен либо консольный браузер вроде slimer.js, casper.js, phantom.js, selenium, либо модули jsdom и zombie.js. Пример такого парсинга - парсинг паблика вконтакте.

3) Парсер данных, доступных по авторизации. Такому парсеру для работы нужен оператор. Помимо алгоритма непосредственно парсинга, нужен пользовательский интерфейс для авторизации. 

Стоит предусмотреть, что периодически будет вылетать капчи. Этот момент надо правильно опознавать. Капчу могут решать индусы, позволяя полностью автоматизировать процесс - https://2captcha.com/ . Можно решать оператором. Если капча требует распознать символы, помочь может Tesseract (для яваскрипт своя версия).

Если есть вопросы - пиши комментарии. Как будет время - отвечу.
1. Получаешь данные с input
2. Отправляешь на сервер php запрос с этим данными
3. В php парсишь нужные сайты. Если это обычные сайты многостраничники, то будет достаточно получить html функцией file_get_contents($url) и взять данные например библиотекой phpJquery. Если SPA приложения, то можно selenium или php phantomjs. После манипуляций в ответе возвращаешь данные эти. Возможно такое решение не самое лучшее т.к парсинг данных может быть длительным процессом