В очередной раз попросили написать парсер для очередного сайта. Работа скучная и нудная если решать "в лоб". Задумался написать нечто и назвать его фреймворком для подобного рода задач.
Но ни как не могу сформулировать "язык" который бы помогал решать задачу.
Первая моя попытка была — это набор атрибутов для классов и пропертей классов, а в конструктор классу передавать url. Но если данные для текущей сущности надо было вытягивать через несколько дополнительных загрузок страниц (загрузить url, распарсить в нем другие url и т.д.) то классы имели глубокую вложенность. Что неудобно. В результате на каждый класс приходилось писать прокси-класс (или адаптер, или мост) для сериализации в XML.
Посему два вопроса:
1. Есть ли какието библиотеки решающие подобного рода задачи. Конвертеры типа html->xml это не то. Потому как не решают проблем с вложеностями.
2. Как бы описать универсально процесс парсинга? Вопрос не тривиальный. Никак в общем виде не получается чтото вменяемое придумать.
Если кто с подобным сталкивался — буду благодарен за любую информацию.
03.03.11 21:16: Перенесено модератором из '.NET' — TK