Загрузите GEDCOM-файл на ВГД   [х]
Всероссийское Генеалогическое Древо
На сайте ВГД собираются люди, увлеченные генеалогией, историей, геральдикой и т.д. Здесь вы найдете собеседников, экспертов, умелых помощников в поисках предков и родственников. Вам подскажут где искать документы о павших в боях и пропавших без вести, в какой архив обратиться при исследовании родословной своей семьи, помогут определить по старой фотографии принадлежность к воинским частям, ведомствам и чину. ВГД - поиск людей в прошлом, настоящем и будущем!
Вниз ⇊

Скачивание материалов с Familysearch.org

Инструкции

← Назад    Вперед →Страницы: ← Назад 1 2 3 4  5 6 7 8 9 ... 66 67 68 69 70 71 Вперед →
Модератор: apuzanoff
miliam

г. Дубна
Сообщений: 676
На сайте с 2012 г.
Рейтинг: 500
Пожалуйста, подскажите, как скачать материалы с сайта не пространство тыкая, а массивом?

Допустим, есть метрическая книга, в ней 400 листов. Нужно скачать все или частично. Как это сделать?

Некоторые пишут, что на сайте есть даже инструкции на эту тему, однако, их найти проблематично.

Будет полезно иметь их здесь, в отдельной теме.

Спасибо.

tsamosaver написал:
[q]
FS Film Trawler - Расширение Chrome для сбора ссылок на кадры с FamilySearch
[/q]

euhome написал:
[q]
Скрипт GetFilmsByDGS.htm на основе номера пленки генерирует ссылки на изображения, которые можно затем загрузить.
[/q]
Лайк (2)
admiral21

admiral21

Сообщений: 2185
На сайте с 2016 г.
Рейтинг: 6528

Kraut написал:
[q]
да, именно так
все работает как часы
[/q]


При загрузке через DownThemAll! есть некоторые особенности.

Файлы нумеруются с 001.jpg по 999.jpg.

Нумерация сквозная. Для примера, если в папку1 загружаются 150 файлов (001.jpg - 150.jpg), в следующую папку2 файлы будут загружаться с именем 151.jpg и т.д.
Может так получиться, что в какую-то папку загрузятся файлы 950.jpg-999.jpg. Затем снова нумерация начнется с 001.jpg (В папке файлы будут не в правильном порядке)

Если загружается более 1000 файлов в одну папку, следующие файлы будут переименовываться в 001_001.jpg, 001_002.jpg ...

Temych

Temych

Санкт-Петербург
Сообщений: 1134
На сайте с 2010 г.
Рейтинг: 645

admiral21 написал:
[q]

Нумерация сквозная. Для примера, если в папку1 загружаются 150 файлов (001.jpg - 150.jpg), в следующую папку2 файлы будут загружаться с именем 151.jpg и т.д.
Может так получиться, что в какую-то папку загрузятся файлы 950.jpg-999.jpg. Затем снова нумерация начнется с 001.jpg (В папке файлы будут не в правильном порядке)

Если загружается более 1000 файлов в одну папку, следующие файлы будут переименовываться в 001_001.jpg, 001_002.jpg ...
[/q]


Я выбрал маску сохранения файла такую *hh*.*mm*.*ss*.*ext*, в итоге получим файл 15.55.12.jpg, который удобно сортировать, потом пакетно переименовываем.
Mantikore

Mantikore

Нижний Новгород
Сообщений: 130
На сайте с 2013 г.
Рейтинг: 156
Друзья, зачем извращения с кучей программ, расширений для браузера и т.д., если задача решается простейшим js-скриптом прямо в браузере?
(Скрипт эмулирует попеременное нажатие кнопок "сохранить" и "следующий снимок".)

var b=document.getElementsByClassName('next pager-icon fs-civ-circle-chevron-right enabled' )[0];
var c=document.getElementsByClassName('actionToolbarSaveButton saveButton button save' )[0];
function e(e){if(e.fireEvent){e.fireEvent('onclick' ) ;}else{var o=document.createEvent('Events' );o.initEvent('click',true,false);e.dispatchEvent(o);}};
function s(d){setTimeout(function(){if(d){e( c);}else{e(b);}if(!document.getElementsByClassName('next pager-icon fs-civ-circle-chevron-right enabled disabled' )[0]){s(!d);}},3000)};
s(true);



Чтобы его запустить, открываем страницу с нужной пленкой, встаем на первый снимок.
Затем запускаем консоль браузера (кнопка F12 в Chrome), копируем туда код срипта и нажимаем Enter.
Скрипт остановится, когда дойдет до конца пленки. Чтобы остановить его вручную, просто перезагрузите страницу.

Скрипт работает и в фоновом режиме, т.е. во время его работы можно заниматься другими делами.

PS. FamilySearch начинает блокировать по IP-адресу, если с вашего компьютера идет слишком много скачиваний, поэтому где-то через 100 снимков он выдаст сообщение "Ошибка 403 Превышена пропускная способность". Придется какое-то время подождать (около часа), прежде, чем блокировка снимется. После этого нужно перезапустить скрипт (встав на последний загруженный снимок)

Прикрепленный файл: scr.png
---
Семеновские, Введенские, Чистопольские, Шлюпневы, Поляковы (Нижегородская губерния)
Temych

Temych

Санкт-Петербург
Сообщений: 1134
На сайте с 2010 г.
Рейтинг: 645

Mantikore написал:
[q]
Друзья, зачем извращения с кучей программ, расширений для браузера и т.д., если задача решается простейшим js-скриптом прямо в браузере?
(Скрипт эмулирует попеременное нажатие кнопок "сохранить" и "следующий снимок".)
[/q]

Другое извращение confuse.gif , но интересное решение. Только оно не решает проблему с ограничением скачивания, что решают расширения браузера + автокликер. Следить на каком кадре остановился каждый час, тоже неблагодарное занятие pcwhack.gif , когда цель скачать все метрики по определённой церкви.
Mantikore

Mantikore

Нижний Новгород
Сообщений: 130
На сайте с 2013 г.
Рейтинг: 156

Temych написал:
[q]
Другое извращение , но интересное решение
[/q]

Это как раз не изращение, а самое очевидное решение. Извращение это ваш автокликер)
Вот, например, небольшая модификация снимает ограничение, о котором я говорил (за счет того, что изображение теперь скачивется на "нажатием" на кнопку, а по прямой ссылке)

[q]
var b=document.getElementsByClassName('next pager-icon fs-civ-circle-chevron-right enabled' )[0];
var l=document.createElement("a");var t=document.getElementById('image-citation' );
function d(){l.href=document.getElementById('printImage' ).src;l.download=document.getElementsByClassName('thumbnail-selection' )[0].title+" "+t.innerText.substring(t.innerText.lastIndexOf(")")+3,t.innerText.lastIndexOf(" image")).replace(/[\]\[>/|\"*?<]/gi,"")+".jpg";l.click();};
function e(e){if(e.fireEvent){e.fireEvent('onclick' );}else{var o=document.createEvent('Events' );o.initEvent('click',true,false);e.dispatchEvent(o);}};
function s(t){setTimeout(function(){if(t){d();}else{e(b);}if(!document.getElementsByClassName('next pager-icon fs-civ-circle-chevron-right enabled disabled' )[0]){s(!t);}},4000)};
s(true);
[/q]


Огромный плюс еще и в том, что скрипт можно легко модифицировать под ваши нужды. Например, указать правила именования фалов. Приведенный выше скрипт сохраняет файлы в таком виде:

Прикрепленный файл: scr.png
---
Семеновские, Введенские, Чистопольские, Шлюпневы, Поляковы (Нижегородская губерния)
Лайк (2)
Temych

Temych

Санкт-Петербург
Сообщений: 1134
На сайте с 2010 г.
Рейтинг: 645

Mantikore написал:
[q]
Вот, например, небольшая модификация снимает ограничение
[/q]

Вот теперь полноценное решение! a_003.gif
klower
Новичок

Сообщений: 16
На сайте с 2013 г.
Рейтинг: 15
Расскажите как в вашем скрипте настроить папку загрузки, имя загружаемых файлов?

Mantikore

Mantikore

Нижний Новгород
Сообщений: 130
На сайте с 2013 г.
Рейтинг: 156

klower написал:
[q]
Расскажите как в вашем скрипте настроить папку загрузки, имя загружаемых файлов?
[/q]

Смотрите. указать папку для загрузки в скрипте нельзя, поскольку из него нет доступа к файловой системе компьютера. Это фундаментальное свойство Javascript, обеспечивающее его безопасность. По этому все файлы загружаются в папку, указанную в настройках вашего браузера.

Как настроить имя..
Чтобы ответить на этот вопрос, вам, скорее всего, понадобятся знания javascript. Попробую объяснить максимально понятно.
За название файла в этом скрипте отвечает следующая строка:
[q]
l.download=document.getElementsByClassName('thumbnail-selection' )[0].title+" "+t.innerText.substring(t.innerText.lastIndexOf(")")+3,t.innerText.lastIndexOf(" image")).replace(/[\]\[>/|\"*?<]/gi,"")+".jpg";
[/q]

если мы напишем вместо этого
[q]
l.download="картинка.jpg";
[/q]
то файлы будут сохраняться с названиями "картинка.jpg", "картинка(1).jpg", "картинка(2).jpg" и т.д.
Нас этот вариант не очень устраивает. Нам нужно, чтобы в названии, как минимум, фигурировал номер снимка в выбранном каталоге.
Всю информацию о снимке можно найти на странице (если изучить ее исходный код).
Например, если вы наведете курсор на выбранный снимок, вы увидите всплывающую подсказку ("Изображение 4 из 9"). Эта подсказка содержится в свойстве title элемента с классом 'thumbnail-selection'. Ее получить очень просто:
вод такой код
[q]
l.download=document.getElementsByClassName('thumbnail-selection' )[0].title+".jpg";
[/q]
будет давать вашим файлам имена "Изображение 2 из 9.jpg", "Изображение 3 из 9.jpg" и т.д.
В принципе, на этом можно остановиться. Но зачем останавливаться, если мы таким же образом можем получить семантическую информацию о снимке (например, к какому населенному пункту он относится) и указать ее в названии? 101.gif
На странице есть элемент, который содержит всю интересующую нас информацию:
если мы выполним в консоли такой код
[q]
document.getElementById('image-citation' ).innerText
[/q]
по получим примерно такой текст:
[q]
"Россия, Нижний Новгородская перепись подушного налога (ревизские сказки), 1782-1858," images, FamilySearch (https://familysearch.org/ark:/61903/3:1:3QSQ-G9ZP-999M-2?cc=2115663&wc=MFHH-DM4%3A1017292001%2C1017391001%2C1017426701%2C1017400701 : 21 May 2014), Нижний Новгород > Балахна > Ягодное лесное > image 4 of 9; State Regional Archive, Nizhni Novgorod, Volga.
[/q]
Все, что нам осталось, это вытащить из этой строки то, что нас интересует, избавившись от всего лишнего. Здесь большое пространство для самодеятельности, можете разобраться самостоятельно (смотрите в сети описание функций javascript substring, replace и т.д.).
В своем скрипте я делаю так: Выбираю из этой строки текст, начиная с последней скобки, и заканчивая словом " image"
[q]
t.innerText.substring(t.innerText.lastIndexOf(")")+3,t.innerText.lastIndexOf(" image"))
[/q]
получаю "Нижний Новгород > Балахна > Ягодное лесное >", затем удаляю из него все запрещенные символы
[q]
replace(/[\]\[>/|\"*?<]/gi,"")
[/q]
соединив 2 строки в одну и добавив ".jpg", получаем итоговое имя файла:
"Изображение 4 из 9 Нижний Новгород Балахна Ягодное лесное .jpg"
---
Семеновские, Введенские, Чистопольские, Шлюпневы, Поляковы (Нижегородская губерния)
klower
Новичок

Сообщений: 16
На сайте с 2013 г.
Рейтинг: 15
Спасибо за подробный ответ!
Но у меня ничего не происходит.
Если при применении первого скрипта просто листаются страницы, в папке для загрузок по умолчанию ничего нет.
При вставке второго варианта вообще пишет - undefined и всё
Может быть что-то не так делаю.
Скопировал с вашего сообщения вставил в консоль
Браузер Firefox 52.0.1
Mihel

Mihel

Москва
Сообщений: 566
На сайте с 2011 г.
Рейтинг: 274
klower у меня в мазиле этот фокус тоже не работает... это видимо решение для гугель хрома... в нем все заработало.
И надо смотреть чтобы текст совпадал, если не очень аккуратно скопировать то иногда в начале или в конце текста при вставке появляются тэги [ q] или [ /q]
Изобретателю респект!
---
Матвеевы Елатьма, село Хреново, Матвеев Николай Николаевич г.Жуковский, Баталова (Шелудякова) Людмила Владимировна Москва, Баталов Сергей Владимирович, Матвеев Владимир Сергеевич Харьков, Матвеева Галина Сергеевна Тула. Фивейский Воронежская обл.
← Назад    Вперед →Страницы: ← Назад 1 2 3 4  5 6 7 8 9 ... 66 67 68 69 70 71 Вперед →
Модератор: apuzanoff
Вверх ⇈