Найти в Дзене

Web Scraping: rgia.su

На сайте rgia.su архива РГИА есть много интересных документов в виде оцифрованных копий. Например, О выкупе земельных наделов временнообязанными крестьянами. Пензенская губ. Все бы хорошо, но некоторое неудобство скачивания документа постранично (в случае, когда изначально неясно, какие страницы наиболее нужны и наиболее интересны) приводит к крамольной мысли: "а хорошо бы посреди пруда мостик построить, а на том мостике беседку расположить".. Вари котелок, вари. Ну и вот вам результат, чего там наварилось. Код программы Объяснительная к тексту: Строки 1-7 - функция sleep() - вспомогательная, реализует задержку исполнения на заданное число миллисекунд. Строка 8: создаем тег "a" - гиперссылку. Строка 9: организует цикл по страницам документа. В данном случае документ содержит 94 страницы. Строка 10: вызывает загрузку очередной страницы. Это удобно делать с помощью функции showPage(), которая имеется на странице. Строка 11: осуществляет задержку в 2 секунды, необходимую для того, чтобы с
Оглавление

На сайте rgia.su архива РГИА есть много интересных документов в виде оцифрованных копий.

Например, О выкупе земельных наделов временнообязанными крестьянами. Пензенская губ.

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

Вари котелок, вари. Ну и вот вам результат, чего там наварилось.

Код программы

Объяснительная к тексту:

Строки 1-7 - функция sleep() - вспомогательная, реализует задержку исполнения на заданное число миллисекунд.

Строка 8: создаем тег "a" - гиперссылку.

Строка 9: организует цикл по страницам документа. В данном случае документ содержит 94 страницы.

Строка 10: вызывает загрузку очередной страницы. Это удобно делать с помощью функции showPage(), которая имеется на странице.

Строка 11: осуществляет задержку в 2 секунды, необходимую для того, чтобы страница загрузилась.

Строка 12: получаем скан загрузившейся страницы (он имеет id="imgPage").

Строка 13: назначаем имя, под которым будем далее сохранять скан страницы на локальный диск. Для того, чтобы файлы на диске сортировались правильно, выравниваем имена с дополнением лидирующим символом "0" для однозначных номеров.

Строка 14: устанавливает признак необходимости сохранения файла и его имя.

Строка 15: задает адрес картинки копированием адреса скана страницы.

Строка 16: моделирует нажатие левой кнопки мыши на гиперссылке и инициирует, таким образом, сохранение скана на локальный диск - в папку загрузки по умолчанию, заданную в свойствах браузера.

Строка 17: отладочная печать номера скана, имени файла и адреса скана.

Ну и как же все это использовать (спросите вы)

Не знаю, что и посоветовать..
Первый вариант - самый простой и очевидный - никак не использовать.
А как же тогда пользу извлечь (спросите вы)?
Какой же вы меркантильный, право слово. Из всего-то вам надо непременно что ни-то извлечь.
Вы спросили - отвечаю. Попробуйте это:
1. Найдите на вышеупомянутом сайте какой-то документ, неподдельно вас интересующий (это главное - остальное - дело техники)
2. Откройте в браузере сканы документа - нажав кнопку с красной эмблемой файла pdf.
3. Кнопкой F12 войдите в отладку браузера.
4. Перейдите во вкладку Console, скопируйте туда текст программы и нажмите клавишу Enter.
Примечание 1. Если, паче чаяния, число страниц вашего документа не равно 94, подправьте строку 9 программы. Вот так (если число страниц равно 45):
for(i=1;i<46;i++){
Примечание 2. Если, паче чаяния, число страниц вашего документа... превышает 100 (но меньше 1000, надеюсь..), подправьте также строку 13. Вот так:
jpg = ("00" + i).slice(-3) + '.jpg';

Подписаться на канал Новости из царской России

Оглавление статей канала "Новости из царской России"

YouTube "Новости из царской России"

Обсудить в групповом чате

News from ancient Russia

Персональная история русскоязычного мира