[PHP 7.+] [parser] Написать парсер объявлений с сайта недвижимости
Добрый день,
Необходимо написать парсер 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.