Парсинг интернет-магазина. Сайт не простой.
Здравствуйте, коллеги. Есть задача по парсингу. Я сам опытный разработчик, но сейчас загружен заказами на 100% и мне нужен помощник на конкретный заказ. Прошу внимательно прочитать текст и не откликаться если это не ваш профиль. Автозаявки проигнорирую.
Есть интернет-магазин для которого я ранее уже писал парсер с веб-интерфейсом (PHP, Laravel) и некоторыми дополнениями. Реализация самого парсинга была банальной: HTTP-запросы через cURL. Сейчас мой клиент захотел расширить функционал и мы уже почти начали, но парсер внезапно перестал работать: сервер не только блокирует некоторые запросы, он также перестал выдавать HTML-код со страницей товара, вместо него выдает страницу с кучей запутанного JavaScript-кода, требуя авторизации. Мой клиент активный пользователь сайта и говорит что незарегистрированные пользователи иногда блокируются после определенного количества просмотра товаров. Вариант с автогенерацией аккаунтов для парсинга не подойдет: регистрация очень замороченная, с подтверждением телефона и почему-то только через мобильное приложение.
ЗАДАЧА
Необходимо написать работающее решение которое позволит извлекать код страницы с товаром по ссылке. Это задача минимум. Далее будет актуален вопрос подмены IP, HTTP-заголовков и всего прочего для массового парсинга, но это я забегаю вперед для более глубокого понимания задачи, пока что актуальна именно та задача, которую описываю в данный момент.
Сейчас нужно просто получить код страницы и сделать это решение совместимым с Laravel, поскольку проект состоит не только лишь из одного парсера (суть в том чтобы заменить неработающий парсер на новый в рамках этого проекта и подключить к текущей системе). Сервер на Linux (не хостинг). Желательно разработать на PHP, но, в принципе, если будет возможность обращаться к вашему решению из Laravel - пишите на чем хотите, хоть на C++, лишь бы работало (но исходники в любом случае предоставьте).
Лично я рассматриваю как один из вариантов браузерную автоматизацию. Смысл: иметь возможность работать со страницами которые рендерятся через JavaScript (очевидно что cURL такой возможности не дает), и в целом имитировать действия реального пользователя, что сложнее осуществить посредством прямой отправки HTTP-запросов.
ТРЕБОВАНИЯ
- на входе URL страницы товара, на выходе HTML-код отрендеренной страницы;
- под Linux, совместимость с Laravel (напрямую, как часть проекта, либо через API);
- опыт в парсинге непростых сайтов;
- предоставление исходников.
УСЛОВИЯ
С финансированием проблем быть не должно (в пределах разумного, конечно же), сроки обсудим. Нацелен на долгосрочное сотрудничество. Напишите в заявке что умеете в плане парсинга и на каких технологиях работаете. Я скину ссылку на сайт в приватной беседе.
Заявки фрилансеров
