2) Web-краулер.
Программа для извлечения должна:
определять всё множество извлекаемых данных на основе данных сайта (ТЕ быть способно работать с перечнями страниц переменной длины),
исключать повторные запросы (в том числе между запусками) к серверу путем кеширования,
обеспечивать контроль максимального количества запросов к серверу в ед. времени.