[PHP 7.+] [parser] Написать парсер объявлений с сайта недвижимости

Сергей18 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
03.09.2019

Добрый день, 

Необходимо написать парсер cian (ru). Желательно использовать DOMDocument для разбора HTML.  

На вход подаётся город и параметр вывода. Параметр вывода - 0 - использовать только базу собственников, 1 - использовать только агентства (за вычетом собственников), 2 - и те и другие. На сайте есть флажек который это задаёт ('&is_by_homeowner=1'), но во втором случае надо вычесть из базы агентств базу собственников, в последнем - прибавить к одной базе другую. 

Собственников и агентства нужно на выходе уникализировать, повторяющиеся номера просто пропускать в записи в файл оставляя одно объявление для 1 собственника или агентства. Уникализируются контакты, т.е. повторяющиеся номера, возможно и названия компаний, надо разобраться походу что эффективнее.  

Внутри стоит функция парсинга конкретных данных, абстрактная. Т.е. на вход подаётся HTML. ParseHTML ($html). На выходе строки для файла CSV с параметрами объявления с полями данных для CSV. 

 

Так же в скрипте должно подсчитываться количество записей в выборке, лежит в блоке любой запрашиваемой страницы. Просто должно быть реализовано функцией вида function GetNumCount($html);  

Скачивание через CURL. 

Телефоны "защищены" заменой блока DIV на блок с номером, можете посмотреть сами в JS скриптах. 

Забираем основные текстовые поля, название компании /имя человека - название объявления - url ссылки на объявление отдельно, описание текстовое, телефон, опционально (отключается опцией вначале скрипта) - картинки (точнее их URL). 

После определённого кол-ва запросов cian показывает капчу, нужно как-то вернуть результаты капчи в программу. Пусть даже и в ручную. 

Оплата на ваше усмотрение - yandex.деньги, webmoney, VISA, MASTERCARD.