Необходимо написать программу, которая сможет распарсить любое издание (прошлое или будущее) каталога KRAUSE Standard Catalog of World Coins. 2001-Date (формат PDF) в csv-файл, а также каталоги монет за период до 2001 года.
Файл защищен паролем. Кроме того, один из претендентов на выполнение работы выявил следующие сложности:
1. Картинки монет разбиты на куски, целыми всех достать не получится.
2. Основной текст с описанием параметров монет закодирован в каком-то бинарном коде,
возможно это картинка (не уверен). Поэтому даже если бы у вас было разрешение копировать текст, то вы бы не могли копировать текст с описанием монет, так как внутри он сохранён не как текст. Автор хорошо обезопасил файл от копирования, довольно хитро.
На выходе хочу получить программу, состоящую из оболочки для парсинга и отдельного файла-модуля, содержащего логику парсинга данных именно из указанного типа каталогов Краузе.
Это нужно для того, чтобы в будущем можно было дозаказать новый модуль для парсинга какого-либо другого каталога. Причём также должно быть описание принципа написания и устройства модуля, чтобы его мог сделать любой другой программист, пишущий на том же языке. Должна быть возможность просмотра внутреннего содержания модуля в том числе мной.
Из данного конкретного каталога нужно получить данные в следующем виде. Одна строка один вид монеты с номиналом, весом, размером, датой выпуска, страной, серией и т.д. В общем вся информация, которая там есть. Получится примерно следующие поля: Страна;Выпуск;#;Номинал;Вес;Металл;Размер;Ruler;Subject;Series;Ob v.;Legend;Rev.;Edge;Shape;Mint;Note;Date;Date (в местном исчислении);Comment;Mintage;VF20;XF40;MS60;MS63;MS65;PF60;PF63;PF 65;Название файла с изображением.
Пример областей, из которых нужно брать данные:
Также программа должна уметь при необходимости формировать не один csv файл, а несколько с заданным количеством строк.
Ссылку на скачивание примера каталога дам по запросу.
Если Ваша оценка стоимости выполнения работы отличается от указанной мной в любую сторону, то напишите мне свою оценку, я рассмотрю разные варианты.