 | Mantikore Николай Создайте аккаунт или войдите, чтобы отправить личное сообщение этому пользователю и увидеть его полные контактные данные |
Последние 30 сообщений MantikoreТема: Скачивание материалов с Familysearch.org 19.06.2017, 9:26
Buranov написал:[q] Спасибо за скрипты! Небольшая проблемка у меня: при установке на закачку 5 снимком закачивает 3, когда нужно 10, получаю 7, установил 297, получил 149.. Подскажите, что в данном случае я делаю не так?[/q]
Здравствуйте! Вы используете самую первую версию скрипта и модификация с ограничением по количеству снимков с ней работает немного по-другому. Дело в том, что в первой версии функция s(t) вызывается дважды для каждого снимка (первый вызов запускает скачивание, второй осуществляет переход на следующий снимок). В последующих версиях обе операции выполняются в одном вызове. Поэтому, если вы используете первую версию, вам нужно количество указать вдвое больше.
Либо можно исправить в вашем скрипте if(t){d();}else{e(b);} на d();e(b);. Это тоже должно помочь.
|
Тема: Скачивание материалов с Familysearch.org 11.05.2017, 16:02
romanvm написал:[q] А можно как-то указать количество скачиваемых изображений, что бы не качать до конца всю книгу[/q]
допишите вначале скрипта:
[q] var cnt= 5;var ir=0;[/q] где 5 - количество снимков, которое вам нужно скачать
и условие выхода в функции s(t), чтобы получилось так:
[q] function s(t){ir++;if(ir>cnt){return;}setTimeout(func...[/q]
|
Тема: Скачивание материалов с Familysearch.org 11.05.2017, 15:33
Гарчев написал:[q] Можно ли сделать начало нумерации с цифр 0001, 0002 и т.д.?Думаю, 4 разряда вполне достаточно. Больше чем 22хх снимков в пленках я пока не встречал.
[/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' );var rn=true; function d(){l.href=document.getElementById('printImage' ).src;var p=document.getElementsByClassName('thumbnail-selection' )[0].title; l.download='0000'.substring(0, '0000'.length - p.split(' ' )[1].length) + p.split(' ' )[1]+(rn?(" "+t.innerHTML.substring(t.innerHTML.lastIndexOf(")")+3,t.innerHTML.lastIndexOf(" image")).replace(/[\]\[>/|\"*?<]|(> )|(< )/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]
|
Тема: Скачивание материалов с Familysearch.org 11.05.2017, 15:20
romanvm написал:[q] Корифей написал:
[q] VM321:3 Uncaught TypeError: Cannot read property 'title' of undefined at d (<anonymous>:3:133) at <anonymous>:5:37
[/q]
Удалось ли решить эту проблему? У меня такая же ситуация в хроме.[/q]
Вероятно вы запускаете скрипт в режиме просмотра снимка. Скрипт работает только в режиме просмотра каталога. В верхнем левом углу есть кнопка для перехода в другой режим. Нажмите ее и уже после этого запускайте скрипт
 |
Тема: Скачивание материалов с Familysearch.org 4.05.2017, 11:31
Корифей написал:[q] Однако на выходе получаю файлы вот с такими именами: record-image_3QS7-L975-69WT-R record-image_3QS7-L975-694D-R record-image_3QS7-L975-694J-1 record-image_3QS7-L975-694M-C[/q]
[q] пробую другое дело в другой описи и вообще вот что получаю
VM321:3 Uncaught TypeError: Cannot read property 'title' of undefined at d (<anonymous>:3:133) at <anonymous>:5:37[/q]
каким браузером пользуетесь? и, если не трудно, пришлите ссылку на каталоги, из которых пытаетесь скачивать
|
Тема: Скачивание материалов с Familysearch.org 26.04.2017, 12:09
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(/[\]\[>/|\"*?<]|(> )|(< )/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 хватит наверняка, но, соответственно, скорость работы уменьшится)
|
Тема: Скачивание материалов с Familysearch.org 24.04.2017, 8:56
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" и т.д. В принципе, на этом можно остановиться. Но зачем останавливаться, если мы таким же образом можем получить семантическую информацию о снимке (например, к какому населенному пункту он относится) и указать ее в названии? На странице есть элемент, который содержит всю интересующую нас информацию: если мы выполним в консоли такой код
[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"
|
Тема: Скачивание материалов с Familysearch.org 23.04.2017, 22:46
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]
Огромный плюс еще и в том, что скрипт можно легко модифицировать под ваши нужды. Например, указать правила именования фалов. Приведенный выше скрипт сохраняет файлы в таком виде:
 |
Тема: Скачивание материалов с Familysearch.org 23.04.2017, 13:43
Друзья, зачем извращения с кучей программ, расширений для браузера и т.д., если задача решается простейшим 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 Превышена пропускная способность". Придется какое-то время подождать (около часа), прежде, чем блокировка снимется. После этого нужно перезапустить скрипт (встав на последний загруженный снимок)
 |
Тема: Семëнов Виктор Валентинович 10.04.2017, 22:42
Семëнов Виктор Валентинович Около 1962 г. переехал из Горьковской области на постоянное место жительства в Сибирь (точное место неизвестно). После чего связь с ним была утеряна.
|
Тема: Карты уездов Нижегородской губернии 9.08.2015, 18:30
TatianaLGNN написал:[q] У меня например есть полностью на 1888 год[/q]
А что за база? Чем она отличается от Списка Населенных Мест 1863 года?
|
Тема: Карты уездов Нижегородской губернии 8.08.2015, 19:25
TatianaLGNN написал:[q] АТД Нижегородской губернии[/q]
Вот тут у меня есть границы уездов после Екатерининской реформы (1779 г) и после реформы 1802 года (перенесено с Атласа Менде)
ссылка
Может кому-то поможет
|
Тема: фонд 570 опись 10 Метрические книги по Ардатовскому уезду 16.07.2015, 22:14
Чубук написал:[q] Подскажите, пожалуйста, к какому уезду какой губернии относилась д.Ляпуха (Ляпуховка, сейчас она в черте посёлка Виля), до начала строительства заводов Баташовым в середине 18 века?[/q]
Судя по Атласу Российской империи 1745 года, эта местность относилась к Воронежской губернии (отметил примерно красным прямоугольником)
А на карте Российской Империи 1816 г. Ляпуха уже в Ардатовском уезде Нижегородской губернии
 |
Тема: Вопросы по деревням 18.12.2014, 8:32
chuvelela написал:[q] Здравствуйте! А меня интересует деревня Виный Майдан. Подскажите[/q]
д. Винный Майдан находилось в Нижегородском уезде. Ближайшее село -Троицкое (оно же Теплое). 2 Благочиние Ниж. уезда
 |
Тема: Вопросы по деревням 9.09.2014, 13:27
Probus52 Сегодня видел клировую с. Илларионова за 1800 г. Написано: церковь каменная Святителя Чудотворца Николая, построена в 1760 г. Клир переписать не успел, очень сильно торопился
|
Тема: Общие вопросы по ЦАНО 7.09.2014, 18:35
TatianaLGNN написал:[q] Вам бы надо поговорить с авторами книги про нижегородским священослужителям-Успенским. Они Симбилей исследовали тщательно. Но я тоже не помню такой фамилии[/q]
Вы тут выкладывали список фамилий, встречающихся в книге Успенских: forum.svrt.ru/index.php?showtopic=5983&pid=103081&mode=threaded&start= Фамилия Цепиловы там присутствует
|
Тема: Вопросы по деревням 4.09.2014, 13:34
Probus52 1. Орфанов Владимир Васильевич Родился в 1870 г., Сергачский уезд, с. Ключево; русский; священник. Проживал: Сергачский уезд, с. Илларионово. Арестован 10 февраля 1929 г. Приговорен: Особое совещание 5 апреля 1929 г., обв.: 58-10. Приговор: ссылка на Урал на 3 г. Источник: Книга памяти Нижегородской обл.
2. Орфанов Владимир Васильевич Родился в 1870 г., Сергачский уезд, с. Ключево; русский; ссыльный. Арестован в 1932 г. Приговорен: Особое совещание 1 февраля 1932 г., обв.: 58-10. Приговор: лишен права проживания в 12 п. Уральской обл. с прикреплением на 3 г Источник: Книга памяти Нижегородской обл.
3. (возможно, сын) Орфанов Николай Владимирович Родился в 1894 г., Горьковская обл., Больше-Болдинский р-н, с. Илларионово; русский; псаломщик церкви с. Бойково. Проживал: Починковский р-н, с. Бойково. Арестован 30 апреля 1933 г. Приговорен: тройка 9 июля 1933 г., обв.: 58-10, -11. Приговор: к 1 г. принудработ Источник: Книга памяти Нижегородской обл.
Илларионово на 1-верстке Менде
 |
Тема: Общие вопросы по ЦАНО 2.09.2014, 8:16
vadimkino написал:[q] сомнение берёт в Каменке ли, или в Знаменском[/q]
Вот кстати, кусок карты Менде. Ново-Никольское прям посередине между Каменкой и Знаменским. Мне кажется, вам придется брать метрики из обоих сел, чтобы точно узнать
 |
Тема: Общие вопросы по ЦАНО 1.09.2014, 21:16
TatianaLGNN написал:[q] Но...... я нахожу на 1901 год Каменку в Сергачском уезде Но не нахожу два других там[/q]
Село Каменка есть в Воротынском, Арзамасском, Лысковском и Пильненском районах. село Елховка есть в Спасском, Кстовском и Вадском районах. Деревня Елховка в Лысковском районе. Тут речь идет про населенные пункты Пильненского района, которые ранее относились к Симбирской губернии
|
Тема: Общие вопросы по ЦАНО 1.09.2014, 15:01
vadimkino написал:[q] Подскажите, а метрические книги из села Каменка Пильненского района, Церковь Иоанна Богослова, где можно отыскать? Вроде к этой церки относятся село Ново-Никольское и деревня Елховка[/q]
Вы, скорее всего, что-то перепутали. Село Каменка Пильненского района раньше находилось в Курмышском уезде Симбирской губернии. Рядом с ним действительно есть д. Новоникольское. Есть еще с. Каменка в Лысковском районе (раньше - Васильсурский уезд Нижегородской губернии). Рядом с ним находится д. Елховка
http://maps.yandex.ru/?um=SBMt...&l=map
|
Тема: Общие вопросы по ЦАНО 1.09.2014, 14:48
vadimkino написал:[q] Подскажите, а метрические книги из села Каменка Пильненского района, Церковь Иоанна Богослова, где можно отыскать?[/q]
Это село раньше находилось в Курмышском уезде Симбирской губернии
 |
|
|