На лету парсить и сразу выдавать результат не получится. Парсить необходимо заранее, помещая результаты поиска в БД. Следует учитывать, что запрашиваемые поисковые фразы требуют полнотекстового поиска в БД.
Парсеры бывают нескольких типов:
1) Простой парсер html для публичных открытых данных. Такой парсер легко сделать, например, на php или nodejs (модуль
cheerio справится без проблем).
2) Парсер открытых данных, получаемых через javascript. Тут немного сложнее. Нужен либо консольный браузер вроде
slimer.js,
casper.js,
phantom.js,
selenium, либо модули
jsdom и
zombie.js. Пример такого парсинга - парсинг паблика вконтакте.
3) Парсер данных, доступных по авторизации. Такому парсеру для работы нужен оператор. Помимо алгоритма непосредственно парсинга, нужен пользовательский интерфейс для авторизации.
Стоит предусмотреть, что периодически будет вылетать капчи. Этот момент надо правильно опознавать. Капчу могут решать индусы, позволяя полностью автоматизировать процесс -
https://2captcha.com/ . Можно решать оператором. Если капча требует распознать символы, помочь может
Tesseract (для яваскрипт
своя версия).
Если есть вопросы - пиши комментарии. Как будет время - отвечу.