Доброго дня.
Недавно пришлось писать парсер для одного сайта. Требования были простейшие, задачку сделал и забыл. Недавно друг попросил пограбить другой сайт. Само собой, часть кода перекочевала в новый проект.
Вопрос: какие есть "стандартные" (распространенные, общие, частые) требования к парсерам, и как они отражаются в архитектуре?
1. Параллельные потоки загрузки и обработки данных
2. Управление уровнем ошибок для продолжения или прерывания обработки ресурса.
3. Обработка и сегментация данных из ошибочных и неверных структурированных данных (например, HTML/XML).
4. "Решето" (правила) для предотвращения дальнейшей обработки ресурса на основе уже полученных данных (условия алгоритма прописываются в конфиге).
Например, контент размером более 5 кб со словом "toster" или url содержит "toster.ru" - пропустить и перейти к обработке следующего.
otetz Спасибо за ссылку. К сожалению, под парсером я подразумеваю программу, которая просматривает диапазон страниц, выдирая с каждой из ник конкретные данные.