(
заранее извиняюсь, что цитирую того человека, просто ту тему я найти не могу, она не высвечивается в браузере, как ранее. Некоторые важные моменты сохранились. Если вдруг автор скажет что-то удались - сразу удалю)
Буду раскрывать все карты - поэтапно, поскольку пока что вообще не разбираюсь коде, но один добрый человек вдохновил меня на поиски решения. Но пришлось на некоторое время забыть. Как видите - по итогу безуспешно, раз пишу сюда (потому что слишком туп). Теперь по существу: "предмет исследования" - книга-пример с открытым доступом из сайта юрайт:
https://urait.ru/viewer/grazhdanskoe-pravo-i-proce.... "объект исследования" - возможность скачать ее любым способом (пожалуйста, только не надо предлагать нажать "сохранить как" правой кнопкой мыши несколько сотен раз.)
Так вот, внезапно тот добрый человек кидает
результат через день:
https://disk.yandex.ru/d/wOHMnfNx-rsxaQ (не в том порядке страницы, но меня удивил сам факт того, что это получилось). Я его стал расспрашивать что да как.
Он отвечает, что в отладке (F12) увидел, что каждая страница качается в .svg по ссылке вида */page_N.svg.gz выкачал все страницы конвертировал в pdf и объединил.
Далее он пишет что есть куча способов выкачать ссылку, от curl и wget, до python скрипта. Он использовал Download Master "добавить группу закачек" На сайтах, где требуется авторизация, он из консоли разработчика скрипт писал, чтобы ссылки выкачать.
Это все что тогда я успел взять с развития темы. После пост удален скорее всего. Сейчас появился CHAT GPT. Я в шоке с его возможностей, но из-за своего непонимания ситуации даже он мне не помог. Я ему предложил написать код для скачивания всех картинок на примере данных с этого URL:
https://urait.ru/library/svobodnyy-dostup/pravo-yu... (уже другая книга, но тоже с открытым доступом) . Он мне скинул этот код:
for (let i = 1; i <= 302; i++) {
const url = `https://urait.ru/viewer/pravovoe-regulirovanie-sozdaniya-i-ispolzovaniya-informacionnoy-infrastruktury-v-rossiyskoy-federacii-519998/page_${i}.svg.gz`;
fetch(url)
.then(res => res.arrayBuffer())
.then(data => {
const blob = new Blob([data], { type: 'image/png' });
const link = document.createElement('a');
link.href = URL.createObjectURL(blob);
link.download = `page${i}.png`;
link.click();
});
}
В этом коде, вы создаете цикл от 1 до 302, который загружает каждую страницу в формате .svg.gz. Затем, используя fetch API, вы загружаете этот файл в бинарный формат. Наконец, вы создаете ссылку на этот файл и скачиваете его с помощью метода click.
Я: Вставил эту команду, все 302 файла скачались, но формат файлов не поддерживается и они имеют одинаковый размер. Вылезала ошибка в консоли 302 раза: Failed to load resource: the server responded with a status of 404 ()
ЧатЖПТ: Судя по всему, сервер не поддерживает скачивание этих файлов или они просто не существуют. Возможно, эти файлы генерируются динамически при запросе или требуется определенный доступ для их загрузки. Попробуйте найти информацию об этом на сайте или у администратора сайта.
Я: забыл добавить еще ошибку: Не удалось загрузить карту исходного кода с помощью инструментов разработчика: Не удалось загрузить контент для
https://static.isu.pub/fe/product-header-frontend/...: Ошибка HTTP. Код статуса 403, net::ERR_HTTP_RESPONSE_CODE_FAILURE...
ЧатЖПТ: Эти ошибки говорят о том, что ваш браузер не может загрузить какие-либо файлы, потому что сервер вернул статус ошибки 404 или 403. Ошибка 404 означает, что сервер не нашел файл, который вы запрашиваете. Ошибка 403 означает, что ваш доступ к файлу запрещен. В этом случае, вам нужно обратиться к владельцу сайта или администратору, чтобы убедиться, что у вас есть необходимые права доступа.
Если у кого-то есть опыт, сообщите, пожалуйста!