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

Скачивалка с самарского архива

Несколько читателей сообщили, что моя скачивалка архивов ЭлАра не работает — самарский архив что-то у себя изменил и она перестала работать.

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

Чтобы вытащить из страницы список картинок, которые нужно качать, можно воспользоваться следующим способом: открываем консоль браузера и пишем туда следующее:

console.log("dxo.itemsValue=['"+
window['MainPlaceHolder__storageViewerControl__storageFilesViewerControl_FilesDropDownList_DDD_L'].
itemsValue.join("','")+"'];")

Вывод нужно скопировать в файл и натравить на него скачиватель. Параметры остались неизменными.

48 комментариев
Евгений 2013

Добрый день! Подскажите пожалуйста все сделал как у вас написано, но в консоли выводы не появляются

http://img-fotki.yandex.ru/get/6724/27495278.0/0_d3a84_3b06069f_L#%D0%9D%D0%BE%D0%B2%D1%8B%D0%B9%2B%D1%80%D0%B8%D1%81%D1%83%D0%BD%D0%BE%D0%BA%2B%281%29.bmp%7Chttp%3A%2F%2Ffotki.yandex.ru%2Fusers%2Fjon2186%2Fview%2F866948%2F%3Fpage%3D0#500x151

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

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

Я сейчас попробовал в Хроме (31-я версия) — всё получилось. Попробуйте Хром.

Евгений 2013

Попробовал в Хроме та же ошибка: TypeError: Cannot read property ’itemsValue’ of undefined
может что то в Хроме настраивать надо.

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

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

Нет, ничего не надо. Возможно какая-то часть сайта работает иначе. Можно попробовать сделать по прежней инструкции: http://bolknote.ru/all/3937/

Евгений 2013

А что из себя должен представлять вывод и как его сохранить в файл кого формата должен быть файл.

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

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

По ссылке написано.

Евгений 2013

Пробовал старым способом программа не работает. Скачивает 9 пустых JPGов. Тоже самое и с Тобольским архивом. Попробовал на архиве Югры http://31.163.202.181:8089/ все работает прчем и старая версия и новая. Может что то с располежением данных.

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

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

Нет, так нет. Пока всё что нужно мне — качает. Наткнусь на то, что не качает — доделаю.

Сергей Андреев 2013

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

31-й хром, в консоли выдает запись типа dxo.itemsValue=[’f952ebf0-0a55-4120-836b-88646a96f447’,.. — судя по числу значений, совпадающему с числом страниц — все верно. Сохраняю результат в пустой txt, подсовываю его программе, но получаю «Error: <to> cannot be less than <from>» хотя не указывал ни того, ни другого. Где у меня косяк?

Евгений 2013

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

Добрый день Сергей. Скажите у Вас операционная система «мак» или «виндоус». У меня на «виндоус» выдает ошибку: TypeError: Cannot read property ’itemsValue’ of undefined. Может я что то не правильно делаю.

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

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

Да, моя ошибка, сейчас пост поправлю. В конец файла допишите ещё точку с запятой, будет работать.

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

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

У меня — Мак. В общем, вам надо внутри страницы найти dxo.itemsValue, а внутри массив, где записано много таких значений как у Сергея Андреева выше.

Ку 2013

И правда всё поехало! Спасибо!

Ку 2013

Поехало-то поехало быстро, только картинки крошечные по сравнению с тем, что было, фиг разберешь что. Евгений, а нельзя ли увеличить размер «как було» или регулировать его как-то?

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

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

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

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

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

Строку №17 в программе замените на

const url = ` http://%s/Pages/ImageFile.ashx?level=11%26x=0%26y=0%26tileOverlap=2048%26id=%s%26page=0%26XHDOC=%26archiveId=1%60

и будет вам счастье :)

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

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

Чёрт, ссылка автоподставилась. В общем, в строке №17 надо level сделать 11, а tileOverlap — 2048. Будет в два раза больше.

Сергей Андреев 2013

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

Премного благодарен.

Сергей Андреев 2013

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

Евгений, Win 7, Chrome 31, причем с кучей плагинов и дополнений. Все работает.

Сергей Андреев 2013

Попробовал для интересу level 12, а tileOverlap — 4048 — качает, как и раньше страницы по 6-7 мегабайт высокого разрешения.

Евгений 2013

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

Спасибо, все заработало. К сожалению данный способ не подходит для Тобольского архива. Большая просьба Евгений к Вам, если у Вас появиться время может глянете что там с тобольским архивом. Может что интересненькое для себя найдете.

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

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

В тобольский вряд ли — там пока не нашлась родня, но вдруг, мало ли :)

Евгений 2013

Огромное вам спасибо. Благодаря вашему идее я все таки нашел способ как скачивать с Тобольского архива. Принцип тот же.

Ку 2013

Евгений, получилось божественно! Даже размерчик менять можно, просто сказка!

Григорий 2013

Работает но не со всеми делами. Пишет Error: <to> cannot be less than <from> когда используется txt, и скачивается 6-7 файлов jpg если htm.
Даже закрытые еще месяц назад качает, а сегодня открытые 7 дел ни одно не осилил скрипт(((

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

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

Возьмите новую версию. Там выше писали то же самое, посмотрите.

Григорий 2013

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

Неет! Скрипт измененный! Вот для примера ф32оп28 дело 178 качается, а 176 нет; дело 47 качается, а 4 нет...ф32оп38 дела 541,1038,1040,1041,1042а,1043, 1044, 1045, 1152 из htm качаются, а вот заказанные 7 дел с 1099 по 1106 увы никаким способом.

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

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

Ну ок. Не качает, так не качает.

Сергей Андреев 2014

Замечу, что Error: <to> cannot be less than <from> можно убрать проверив нет ли лишних пробелов в конце файлика с содержимым dxo.itemsValuе — последним знаком там должно быть ;

Григорий 2014

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

Твою ж налево! И вправду... Спасибо

Андрей 2014

Евгений, доброе время суток!

Не проверите, вроде бы ЭЛАР снова что-то поменял. Неделю назад — работало, сейчас нет. Опытным путем установлено, что в результате работы скачивалки скачивается XML файл с сообщением об ошибке размером около 17Кб. Установлено, также, что http://cgaso.regsamarh.ru/Pages/ImageFile.ashx?level=12%26x=0%26y=0%26tileSize=256%26tileOverlap=4096%26id=%3CID%3E%26page=0%26rotation=0  — работает, напрямую загружает, что видно через консоль JS. Однако, <ID>, который загружает картинку через браузер отличается от того, что сохраняется в dxo.ItemsValues, получаемое через consol.log. По внешнему виду в dxo.ItemsValues строка с двумя == на конце, что очень похоже на base64, но, мои попытки использовать encode/decode не увенчались успехом, т. е. строки все равно не соответствуют тому, что должно быть в ID. JS совершенно не мой конек, не могу найти скрипт который запрашивает. В JS console идет ссылка на seaddragon.js но я не вижу там ничего нужного.

По прямой ссылке скачивается и в другом браузере, где в АИС не авторизован, т. е. куки, авторизация — не при чем.

P.S. перезагрузки не помогли :)

Заранее благодарю.

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

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

К сожалению, не смогу помочь, у меня доступ заблокировали — оказывается он на год выдаётся. И я уже три месяца не могу его восстановить — три раза отсылал заявление заново (через Госуслуги), недавно статус сменился на «рассмотрено», но доступа так и нет.

Андрей 2014

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

Через госулуги Самары именно ( https://pgu.samregion.ru/rpguWeb/metro/newIndex.jsp )? Потом входили через «Вход через gosuslugi.ru»?

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

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

Да, именно оттуда. Я тут обнаружил, что мой запрос почему-то называется «Информационное обслуживание пользователей в читальных залах государственных архивов Самарской области». Думаю, электронный архив читальным залом не считается. Значит надо подавать другое заявление и ждать ещё месяц.

Андрей 2014

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

Это оно и есть. Может данные не все указали? Через неделю после отправки повторной заявки попробуйте зайти в ЦГАСО. На Госуслушах статус может быть тем же, а доступ открывают. Еще вариант, что проще, на вгд напишите aradchenko из ЭЛАРа.

Ку 2014

А почему месяц?? Они все делают за 1-2 дня. Если заклинило, напишите о наболевшем Метелева Ольга <meteleva@regsamarh.ru> (Управление государственной архивной службы Самарской области).
Это мы типа очень ждем, что Вы расколдуете программулину

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

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

Спасибо! Попробую.

Григорий 2014

со старыми тхт все норм, а с новыми засада

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

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

Написал сегодня Ольге письмо, посмотрим что ответит.

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

Ответила, разобрались, пустило. Как только появится время, начну разбираться!

Андрей 2014

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

Евгений, здравствуйте! Не нашлось у Вас времечка поправить программку? Спасибо.

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

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

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

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

Ку 2014

Андрей, как там Ваш ноутбук? Мы типа, затаив дыхание, очень ждем, что Вы расколдуете программулину

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

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

Меня зовут не Андрей. А программа «расколдована», я об этом ещё в октябре написал: http://bolknote.ru/all/4225

Екатерина 2021

Здравствуйте! Хотела узнать возможно ли сделать такое для воронежского архива? Там только jpg нету, вместо этого стоит файл ashx. Мне пришлось делать все в ручную, открываю страницу, сохраняю целиком страницу и в папке достаю этот файл и переименовываю, появляется картинка в высоком качестве и сохраняю в другую папку. Как автоматизировать с помощью autimator на Маке или программирование go? Метрики имеют до 300 страниц, пробовала ваш скрипт, открываются страницы только на 10 и 20 и тормозит..

Евгений Степанищев 2021

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

Думаю можно, но он мне пока не интересен, если там появятся предки, то буду делать )

Екатерина 2021

Воронежский архив АИС в данный момент просмотр метрических книг и других бесплатен, заказ дела тоже бесплатен. Пока воспользуйтесь возможностью просматривать там.

Mia 2021

Екатерина, та же проблема, с Воронежским архивом просто невозможно работать((

Знаю, что на одном ресурсе выложена приличная часть архива, и кто-то получается успешно с него качает, но нужных мне дел нет(