О да. Этот проект я запомнил надолго, и вот почему.
Есть некое агентство недвижимости (назовем его — Агентство А), которое размещает свои объявления на неком ресурсе. Кроме них на этом же ресурсе размещает предложения еще куча таких-же агентств. Требуется, сделать сайт, который будет брать объявления Агентства А с указанного ресурса и показывать их своим посетителям уже у себя.
При том, не просто показывать, а сортировать, вписывать в дизайн сайта, добавлять некоторые улучшения. Кроме объявлений, на сайте должен быть ряд страниц. Ну, с этой частью проще всего.
В целом, реализовано все было с помощью парсера, который лез на ресурс примерно раз в час. PHPQuery тогда еще не было, ну или я про него не знал, так что, писалось все на голом PHP.
Еще, заказчик оказался (оказалась) из тех, кто обращает внимание на незначительные, второстепенные детали. Видимо это профессиональное. Так шапка сайта переделывалась 14 раз. 14! То шрифт хотелось побольше, то картинку чуть переделать, то тон изменить. В общем, намучился, слов нет.
Но результат меня порадовал. Вышло красиво, удобно, функционально.
Все прекрасно работало, пока ресурс, с которого парсились объявления, не изменил верстку на страницах. Внешне они выглядели как раньше, но парсер, который видит только код, перестал вытягивать нужные данные.
Увы, это слабое место любого парсера. Стоит изменить структуру страниц, с которых он берет данные, и приходится переделывать шаблон их распознавания. К сожалению, тут не сделать так, чтобы раз и навсегда. Особенно, если данные берутся с ресурса, который заказчику не принадлежит.
Но с тех пор я оценил парсеры в целом и их преимущества, и стал применять для самых разных задач.