Как скачать документ из АИС ЦГАСО-2

Самарский архив видимо что-то у себя обновил и предыдущий способ для скачивания документов оттуда работать перестал. Очень жаль, удобство работы с интерфейсом архива оставляет желать лучшего, не говоря о скорости доступа к документам.

С просьбой что-то с этой проблемой сделать, мне написало около десятка человек, сегодня у меня наконец дошли руки посмотреть что изменилось. Как и в прошлый раз надо открыть окно консоли браузера и запустить скрипт (я проверял его в «Хроме»). Плохие новости в том, что скрипт будет работать относительно неспешно — 400 страниц обрабатывается примерно за 5—6 минут.

В конце работы в консоли будет длинная строка, начинающаяся с «dxo.itemsValue» и заканчивающаяся на «];». Её, как и в прошлый раз, надо будет скопировать в файл и передать в параметрах программе.

!function () {
    var id = '[id$=seadragonContainer] div div';
    var bt = '[id$=ForwardBtn]';
    var pages = {};
    var o = document.querySelector(id);

    !function _observe(undefined) {
        var ob = new MutationObserver(function() {
            var imgs = $(id+' img[src*=Pages]:first');
            if (imgs && imgs[0]) {
                var page = imgs[0].src.match(/id=([^&]+)/)[1];
                if (pages[page] == undefined) {
                    pages[page] = true;

                    ob.disconnect();

                    var next = $(bt);
                    if (next && next[0]) {
                        _observe();
                        next[0].click();
                    } else {
                        console.clear();
                        console.log("dxo.itemsValue=['" + Object.keys(pages).join("','")+"'];");
                    }
                }
            }
        });

        ob.observe(o, { childList: true, attributes: true, subtree: true });
    }();

    o.setAttribute('start', true);
}();

Вообще, можно было бы заморочиться и сильно ускорить сбор данных, но я не буду этого делать — меня результат вполне устраивает.

Внимание: скрипт должным образом я ещё не протестировал (просто не успел), так что на корректную работу пока не рассчитывайте!

Поделиться
Отправить
45 комментариев
Андрей 2014

Спасибо большое буду тестить

Евгений Степанищев (bolknote.ru) 2014

Комментарий для Андрей:

Вчера ночью выкачал первый документ, всё прошло нормально.

masterspammer (masterspammer.livejournal.com) 2014

var page = imgs[0].src.match(/id=([^&]+)/)[1];

После этой строки ломается подсветка (как будто регулярное выражение не закончилось).

Евгений Степанищев (bolknote.ru) 2014

Комментарий для masterspammer.livejournal.com:

Ну да, я вижу. Повод обновить highlight.js, только для этого надо где-то развернуть локальную копию сайта, посмотреть чтобы ничего не сломалось… в общем, сделаю, но не скоро :)

Евгений Степанищев (bolknote.ru) 2014

Комментарий для masterspammer.livejournal.com:

Обновил, но не помогло :(

Евгений Степанищев (bolknote.ru) 2014

Уже несколько документов скачал, по всей видимости работает.

Не скажу 2014

Комментарий для Евгения Степанищева:

А зачем jQuery ($ === jQuery?)?

Евгений Степанищев (bolknote.ru) 2014

Комментарий для Не скажу:

Почему бы и нет, если он там всё равно есть?

Андрей 2014

Комментарий для Евгения Степанищева:

Здравствуйте!

Пытаюсь работать с Вашей программой, но ничего не получается. На любом деле видит только 9 изображений и куда скачивает непонятно, до сих пор не нашел эти волшебные 9 изображений.

Андрей 2014

Работаю с делами Тобольского и Тюменского архива.

Ребята, которые с Тобольска качали, отзовитесь, дайте свой мейл/профиль ВГД, что бы я с Вами связался.

Андрей 2014

Все равно, разобрался теперь с 9 пустышками, которые не найти. Теперь через консоль лог все норм делаю. Но опять не могу найти то место, куда они загружаются. Их просто нет!

Евгений Степанищев (bolknote.ru) 2014

Комментарий для Андрей:

Я понятия не имею как устроен Тобольский и Тюменский архив, помочь не смогу.

Григорий 2014

Комментарий для Андрей:

 Место куда скачивается указывается в командной строке. Если аис не работает то соответсвенно папка не создается

Андрей 2014

Комментарий для Григорий:

АИС Тюменский сейчас работает.
Объясните, каким образом я должен указать на место куда скачивать?

Спасибо!)

Андрей 2014

Комментарий для Григорий:

Все вроде делаю правильно, через некоторое время он мне выдает вот это.
http://hostingkartinok.com/show-image.php?id=d1dee92e8f7e23435025b1baf2486b40
Изображений нигде нет.

Иван 2014

Комментарий для Евгения Степанищева:

Самарский архив вновь заработал.
Запускаю в консоли Хрома скрипт в ответ — «ReferenceError: MutationObserver is not defined»
Запускаю в консоли Мозиллы — «true» и тишина...

Евгений Степанищев (bolknote.ru) 2014

Комментарий для Иван:

Возможно «Хром» старый. У меня 38-й.

Иван 2014

Комментарий для Евгения Степанищева:

Сейчас попробую обновить, по результату отпишусь.

Иван 2014

Теперь вообще не входит... Внутренняя ошибка

Иван 2014

Комментарий для Евгения Степанищева:

Пошло создание списка! Спасибо огромное!

Василий 2014

Работаю с Самарским архивом. Запускаю представленный скрипт в консоли Хрома, происходит обработка страниц документа (выглядит как перелистывание). Сохраняются ли куда-либо изображения я понять не могу. «Место куда скачивается указывается в командной строке.» — могли бы Вы объяснить чуть подробнее, как нужно задавать место для сохранения изображений? Может быть

Евгений Степанищев (bolknote.ru) 2014

Комментарий для Василий:

Не сохраняются. Читайте мои посты по этой теме.

Василий 2014

Комментарий для Евгения Степанищева:

Разобрался. Спасибо!

Григорий 2015

не робит, пролистывает один лист и скрипт вырубается

Евгений Степанищев (bolknote.ru) 2015

Комментарий для Григорий:

Значит опять прикрыли лавочку.

Григорий 2015

нет, не прикрыли. из готовых все тянет прекрасно
если вводить скрипт после этого каждый раз (пробовал на 14 листах) в конце выводится код для последнего листа

Евгений Степанищев (bolknote.ru) 2015

Комментарий для Григорий:

Ну, я имею ввиду, что именно этот способ прикрыли. Кстати, какой браузер?

Григорий 2015

Комментарий для Евгения Степанищева:

Хром, вот только обновил позавчера 39.0.2171.95 m
а есть дела в которых пролистывает штук пять и останавливается

Константин 2015

Комментарий для Евгения Степанищева:

Версия Хрома 39.0.2171.95 m.
Также «затыкается» на следующем после первого листа.
Из порядка 20 дел один раз пролистал несколько листов.
По-моему, началось сие перед Новым годом.

Евгений Степанищев (bolknote.ru) 2015

Значит опять что-то поменяли. Как понадобятся дела из самарского — буду смотреть.

Иван 2015

Комментарий для Евгения Степанищева:

Будем ждать с нетерпением ))

Илдар 2015

как я понял можно скачивать те фотки, у которых есть электронная копия?

Евгений Степанищев (bolknote.ru) 2015

Комментарий для Илдар:

Да.

Илдар 2015

спасибо

Евгений 2015

Очень ждем когда Вам понадобятся дела из архива.

Дмитрий 2015

Если нужны 1-2 картинки делайте так:

  1. сохраните страницу себе
  2. найдите в тексте страницы dxo.itemsValue=[
        !!! причём должен быть идентификатор, например: af9a0081-0c56-4627-b004-b42ba744f0fc

3. введите в браузере: http://%D0%A1%D0%90%D0%99%D0%A2/Pages/ImageFile.ashx?level=%D0%9A%D0%90%D0%A7%D0%95%D0%A1%D0%A2%D0%92%D0%9E%26x=0%26y=0%26tileOverlap=%D0%A0%D0%90%D0%97%D0%9C%D0%95%D0%A0%26id=%D0%98%D0%94%D0%95%D0%9D%D0%A2%D0%98%D0%A4%D0%98%D0%9A%D0%90%D0%A2%D0%9E%D0%A0

        САЙТ — начальный адрес, например: http://82.209.65.104:180

        КАЧЕСТВО — у Евгения стоит в скрипте 10, я делал 13
        РАЗМЕР — у Евгения стоит в скрипте 1024, я делал 9000
        ИДЕНТИФИКАТОР — строка из п.2

Проверял на пензенском сайте http://82.209.65.104:180

Константин 2015

Комментарий для Дмитрий:

Спасибо, все работает.

Дьёрдь 2015

кто с тобольским/тюменским архивом пробует и кого получилось — напишите плз как надо допилить скрипт.

Дмитрий 2015

С самарским мой предыдущий пример не работает, похоже в dxo.itemsValue, хранится не GUID, что-то похожее на base64.
Возможно автор в курсе? Подскажет...

Евгений Степанищев (bolknote.ru) 2015

Комментарий для Дмитрий:

Пока временно по архивам не работаю, так что не могу сказать что там произошло.

Дмитрий 2015

Комментарий для Евгения Степанищева:

Жаль.
Сам бы разобрался... по тем сведениям, из которых Вы черпаете свои идеи.
Не хватает исходников ;)

Евгений Степанищев (bolknote.ru) 2015

Комментарий для Дмитрий:

У меня нет каких-то сведений из которых я черпаю идеи. Это всё догадки и эксперименты.

Дмитрий 2015

Комментарий для Евгения Степанищева:

Приношу извинения, если вдруг обидел!
Но подскажите мне насчёт устройства АИС, а именно как Вы получили адрес Pages/ImageFile.ashx и его параметры:
level, x, tileOverlap, id?
Какое-то средство отладки использовано?

Евгений Степанищев (bolknote.ru) 2015

Комментарий для Дмитрий:

Приношу извинения, если вдруг обидел!

Нет, я вовсе не обиделся.

Но подскажите мне насчёт устройства АИС, а именно как Вы получили адрес Pages/ImageFile.ashx и его параметры:
level, x, tileOverlap, id?

Смотрел код страницы.

Какое-то средство отладки использовано?

Обычный браузер.

Евгений Степанищев (bolknote.ru) 2015

Комментарий для Дмитрий:

http://bolknote.ru/all/4296

Популярное