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

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

Инструкции

← Назад    Вперед →Страницы: ← Назад 1 2 3 4 5 * 6 7 8 9 ... 62 63 64 65 66 67 Вперед →
Модератор: apuzanoff
klower
Новичок

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

Mantikore

Mantikore

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

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

Москва
Сообщений: 497
На сайте с 2011 г.
Рейтинг: 235
klower у меня в мазиле этот фокус тоже не работает... это видимо решение для гугель хрома... в нем все заработало.
И надо смотреть чтобы текст совпадал, если не очень аккуратно скопировать то иногда в начале или в конце текста при вставке появляются тэги [ q] или [ /q]
Изобретателю респект!
---
Матвеевы Елатьма, село Хреново, Матвеев Николай Николаевич г.Жуковский, Баталова (Шелудякова) Людмила Владимировна Москва, Баталов Сергей Владимирович, Матвеев Владимир Сергеевич Харьков, Матвеева Галина Сергеевна Тула. Фивейский Воронежская обл.
Mantikore

Mantikore

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

klower написал:
[q]
Браузер Firefox 52.0.1
[/q]
Да, в Firefox я не тестировал.
Вот этот код будет работать в обоих браузерах:
[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' );var rn=true;
function d(){l.href=document.getElementById('printImage' ).src;l.download=document.getElementsByClassName('thumbnail-selection' )[0].title+(rn?(" "+t.innerHTML.substring(t.innerHTML.lastIndexOf(")")+3,t.innerHTML.lastIndexOf(" image")).replace(/[\]\[>/|\"*?<]|(&gt; )|(&lt; )/gi,"")):"")+".jpg";document.body.appendChild(l);l.click();document.body.removeChild(l);};
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(){d();e(b);rn=false;if(!document.getElementsByClassName('next pager-icon fs-civ-circle-chevron-right enabled disabled' )[0]){s(!t);}},4000)};
console.log = function(m){if(m.indexOf("GetImageData")>=0)rn=true;}
s(true);
[/q]

Небольшое дополнение. В предпоследней строке указан таймаут между операциями(4000 = 4 секунды).
Из-за низкой производительности сайта FamilySearch (либо вашего компьютера) может возникнуть ситуация, при которой свойство элемента 'image-citation' не успевает обновиться за этот промежуток времени. Из-за этого к названию файла может не подтянуться описание. Если вы это наблюдаете, или хотите обезопасить себя от таких ситуаций, просто увеличьте таймаут (10000 хватит наверняка, но, соответственно, скорость работы уменьшится)
---
Семеновские, Введенские, Чистопольские, Шлюпневы, Поляковы (Нижегородская губерния)
Лайк (1)
klower
Новичок

Сообщений: 16
На сайте с 2013 г.
Рейтинг: 15
Огромное вам спасибо! Всё заработало!
Виктор_В
Новичок

Москва
Сообщений: 19
На сайте с 2008 г.
Рейтинг: 18
Автокликер не очень удобен, решил попробовать скрипт,
Google Chrome Версия 58.0.3029.81 на двух разных компьютерах результат одинаковый
пробовал скачать:
https://familysearch.org/searc...cat=785139

Собственно процесс скачивания не стартует, открывается куча окон "Сохранение"
потом нужно кликать мышкой в кнопку "Сохранить"

Какие-то странные наименования файлов:
Изображение 1 из 936 .jpg
Изображение 2 из 936 .jpg
Изображение 3 из 936 .jpg
Изображение 4 из 936 .jpg
Изображение 5 из 936 .jpg
Изображение 6 из 936 image 474 of 563; государственных архивов Татарстан (Tatarstan National Archive, Kasan)..jpg
Изображение 7 из 936 image 475 of 563; государственных архивов Татарстан (Tatarstan National Archive, Kasan)..jpg
Изображение 8 из 936 image 476 of 563; государственных архивов Татарстан (Tatarstan National Archive, Kasan)..jpg
Изображение 9 из 936 image 477 of 563; государственных архивов Татарстан (Tatarstan National Archive, Kasan)..jpg
Изображение 10 из 936 image 478 of 563; государственных архивов Татарстан (Tatarstan National Archive, Kasan)..jpg
Изображение 11 из 936 image 479 of 563; государственных архивов Татарстан (Tatarstan National Archive, Kasan)..jpg
Tanta

Tanta

Люберцы
Сообщений: 160
На сайте с 2010 г.
Рейтинг: 138
Виктор_В, думаю проблема в том, что в настройках браузера про папку сохранения (по умолчанию -папка "загрузки") вас стоит галочка (не помню точно) что-то вроде "спрашивать каждый раз..." Уберите ее и будет скачиваться автоматически, без уточнения, в курсе ли вы, куда скачиваете. У меня было подобное.
П.с если Вы про вариант от Mantikore.
---
Кулаков,Кузьмин-Твер.обл, д.Дмитрово(Твер. уезд, приход с.Астраганец), д.Попово ныне Старицкого у.
Плешаков,Харламов,Лебедев,Непримеров - Волгогр.обл.//
Виктор_В
Новичок

Москва
Сообщений: 19
На сайте с 2008 г.
Рейтинг: 18

Mantikore написал:
[q]
[/q]


Tanta написал:
[q]
[/q]


Спасибо!
Олинка

Олинка

Кемерово
Сообщений: 868
На сайте с 2007 г.
Рейтинг: 654

Mantikore написал:
[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' );var rn=true;
function d(){l.href=document.getElementById('printImage' ).src;l.download=document.getElementsByClassName('thumbnail-selection' )[0].title+(rn?(" "+t.innerHTML.substring(t.innerHTML.lastIndexOf(")")+3,t.innerHTML.lastIndexOf(" image")).replace(/[\]\[>/|\"*?<]|(&gt; )|(&lt; )/gi,"")):"")+".jpg";document.body.appendChild(l);l.click();document.body.removeChild(l);};
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(){d();e(b);rn=false;if(!document.getElementsByClassName('next pager-icon fs-civ-circle-chevron-right enabled disabled' )[0]){s(!t);}},4000)};
console.log = function(m){if(m.indexOf("GetImageData")>=0)rn=true;}
s(true);

Небольшое дополнение. В предпоследней строке указан таймаут между операциями(4000 = 4 секунды).
[/q]


Все замечательно работает, 4 секунды маловато, поставила 9. Медленно, но верно все качает, в субботу скачала 3 дела по чуть больше 1000 снимков без какой-либо блокировки.

Спасибо большое создателю!!!
---
Дневник http://forum.vgd.ru/891/
ZF1192774 (Gedmatch)
Бушуев, Пальцев, Сафронов/Федотов/Казаков, Панфилов, Кулагин, Кочетков, Воронин, Отцын/Оцинов, Мурзаев, Тюкин/Кырмагин, Пучинин, Мерзляков, Полатов, Хлебников, Пермяков, Кудриков, Седых, Лазарев, Босенко, Омельченко, Мороз, Манякин, Кубушка, Б
← Назад    Вперед →Страницы: ← Назад 1 2 3 4 5 * 6 7 8 9 ... 62 63 64 65 66 67 Вперед →
Модератор: apuzanoff
Вверх ⇈