Как скачать документ из АИС ЦГАСО-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);
}();
Вообще, можно было бы заморочиться и сильно ускорить сбор данных, но я не буду этого делать — меня результат вполне устраивает.

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

Андрей (инкогнито)
27 октября 2014, 22:57

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

Евгений Степанищев (bolknote.ru)
28 октября 2014, 06:23, ответ предназначен Андрею

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

masterspammer (masterspammer.livejournal.com)
28 октября 2014, 06:54

var page = imgs[0].src.match(/id=([^&]+)/)[1];
После этой строки ломается подсветка (как будто регулярное выражение не закончилось).

Евгений Степанищев (bolknote.ru)
28 октября 2014, 07:29, ответ предназначен masterspammer.livejournal.com:

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

Евгений Степанищев (bolknote.ru)
28 октября 2014, 16:27, ответ предназначен masterspammer.livejournal.com:

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

Евгений Степанищев (bolknote.ru)
28 октября 2014, 16:30

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

Не скажу (инкогнито)
3 ноября 2014, 01:02, ответ предназначен Евгений Степанищев (bolknote.ru):

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

Евгений Степанищев (bolknote.ru)
3 ноября 2014, 13:44, ответ предназначен Не скажу

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

Андрей (инкогнито)
11 ноября 2014, 00:56, ответ предназначен Евгений Степанищев (bolknote.ru):

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

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

Андрей (инкогнито)
11 ноября 2014, 00:57

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

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

Андрей (инкогнито)
11 ноября 2014, 01:39

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

Евгений Степанищев (bolknote.ru)
11 ноября 2014, 06:26, ответ предназначен Андрею

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

Григорий (инкогнито)
12 ноября 2014, 12:14, ответ предназначен Андрею

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

Андрей (инкогнито)
15 ноября 2014, 08:17, ответ предназначен Григорию

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

Спасибо!)

Андрей (инкогнито)
15 ноября 2014, 10:46, ответ предназначен Григорию

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

Иван (инкогнито)
18 ноября 2014, 15:58, ответ предназначен Евгений Степанищев (bolknote.ru):

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

Евгений Степанищев (bolknote.ru)
18 ноября 2014, 16:58, ответ предназначен Ивану

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

Иван (инкогнито)
18 ноября 2014, 17:02, ответ предназначен Евгений Степанищев (bolknote.ru):

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

Иван (инкогнито)
18 ноября 2014, 17:40

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

Иван (инкогнито)
18 ноября 2014, 17:51, ответ предназначен Евгений Степанищев (bolknote.ru):

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

Василий (инкогнито)
25 ноября 2014, 21:24

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

Евгений Степанищев (bolknote.ru)
26 ноября 2014, 12:38, ответ предназначен Василию

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

Василий (инкогнито)
27 ноября 2014, 11:15, ответ предназначен Евгений Степанищев (bolknote.ru):

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

Григорий (инкогнито)
9 января 2015, 12:33

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

bolknote.ru (bolknote.ru)
10 января 2015, 03:48, ответ предназначен Григорию

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

Григорий (инкогнито)
10 января 2015, 11:41

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

bolknote.ru (bolknote.ru)
10 января 2015, 14:27, ответ предназначен Григорию

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

Григорий (инкогнито)
10 января 2015, 18:12, ответ предназначен bolknote.ru:

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

Константин (инкогнито)
10 января 2015, 18:58, ответ предназначен bolknote.ru:

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

bolknote.ru (bolknote.ru)
11 января 2015, 02:50

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

Иван (инкогнито)
29 января 2015, 12:16, ответ предназначен bolknote.ru:

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

Илдар (инкогнито)
7 февраля 2015, 23:33

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

bolknote.ru (bolknote.ru)
8 февраля 2015, 12:54, ответ предназначен Илдару

Да.

Илдар (инкогнито)
8 февраля 2015, 17:24

спасибо

Евгений (инкогнито)
3 марта 2015, 08:24

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

Дмитрий (инкогнито)
3 марта 2015, 17:00

Если нужны 1-2 картинки делайте так:
1. сохраните страницу себе
2. найдите в тексте страницы dxo.itemsValue=[
    !!! причём должен быть идентификатор, например: af9a0081-0c56-4627-b004-b42ba744f0fc
3. введите в браузере: http://САЙТ/Pages/ImageFile.ashx?level=КАЧЕСТВО&x=0&y=0&tileOverlap=РАЗМЕР&id=ИДЕНТИФИКАТОР
        САЙТ - начальный адрес, например: http://82.209.65.104:180
        КАЧЕСТВО - у Евгения стоит в скрипте 10, я делал 13
        РАЗМЕР - у Евгения стоит в скрипте 1024, я делал 9000
        ИДЕНТИФИКАТОР - строка из п.2
Проверял на пензенском сайте http://82.209.65.104:180

Константин (инкогнито)
6 марта 2015, 23:05, ответ предназначен Дмитрию

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

Дьёрдь (инкогнито)
13 марта 2015, 21:24

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

Дмитрий (инкогнито)
24 марта 2015, 12:24

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

bolknote.ru (bolknote.ru)
24 марта 2015, 21:08, ответ предназначен Дмитрию

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

Дмитрий (инкогнито)
26 марта 2015, 15:53, ответ предназначен bolknote.ru:

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

bolknote.ru (bolknote.ru)
26 марта 2015, 20:21, ответ предназначен Дмитрию

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

Дмитрий (инкогнито)
27 марта 2015, 11:53, ответ предназначен bolknote.ru:

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

bolknote.ru (bolknote.ru)
27 марта 2015, 17:50, ответ предназначен Дмитрию

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

bolknote.ru (bolknote.ru)
31 марта 2015, 08:09, ответ предназначен Дмитрию

http://bolknote.ru/2015/03/31/~4296

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)