Как скачать защищенный от скачивания PDF-файл с сайта?

Ссылка скопирована
1 ответ

Приветствую всех!
На сайте электронной библиотеки "Наука права" (https://naukaprava.ru/) выложены в свободном доступе по желанию автора (как указано в профиле книги) некоторые книги. В частности, интересует 15-й том Стенограммы Нюрнбергского процесса.
Раньше можно было свободно скачивать книги, которые доступны бесплатно, в формате PDF. Но сейчас, как мне написала поддержка, "баг исправлен" и книги можно только просматривать и читать с сайта, а скачивать нельзя.

Ссылка на книгу - https://naukaprava.ru/read/?id=91464 (для просмотра необходима бесплатная регистрация и авторизация на сайте). Ниже см. скриншот в конце вопроса.

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

Выяснилось, что обращается он к некому файлу https://naukaprava.ru/65eef6c52a6bd.pbf - обратите внимание, в расширении не опечатка, там именно PBF. То есть тоже какой-то метод защиты, типа файл PDF, но у него другое расширение что ли? Но скачать и этот файл с другим расширением не получается, если я пытаюсь выцепить эту ссылку отдельно, то файл просто не скачивается, пишет, что его просто нет на сайте.

Вот для иллюстрации привожу скриншоты.
Так выглядит фрейм с загруженной книгой на сайте в просмоторщике.

Как скачать защищенный от скачивания PDF-файл с сайта?

На этом скриншоте вы можете увидеть как я выцепляю загружаемый файл 65eef6c52a6bd.pbf через инструменты разработчика в браузере.

Как скачать защищенный от скачивания PDF-файл с сайта?

А вот реакция сайта на попытку напрямую стянуть файл по выцепленной ссылке.

Как скачать защищенный от скачивания PDF-файл с сайта?

В общем, что там за защита, как можно скачать эту книгу в формате PDF?

Дополнительно:

А почему бы просто не скачать с другого места?)

  • купить дешевле. Не пробиваемых защит нет. Если страница рисуется в броузере, то способ получить ее
    точно есть. Вот только скорее после всей автоматизации сгенерированный pdf файл будет мало чем отличаться от PCLm (вроде бы и пдфка, но на странице может располагаться только графический блок)

    Грубо говоря на выходе будет файл, в котором каждая страница просто картинка.

  • Nicolas Mur, К сожалению, гугление не нашло этот новый 15-й том в других местах в интернете. Там даже написано на сайте, что это "первопубликация". Видимо, у автора эксклюзив выкладывать именно на сайте этой библиотеки, которая не дает скачивать.
    Олег, В том-то и маразм поддержки магазина, которой я первым делом написал, устранившей ранее "баг", что купить его для скачивания нельзя. Мол, только вот смотрите через сайт. Идиотизм, да и только. :(

    Вот только скорее после всей автоматизации сгенерированный pdf файл будет мало чем отличаться от PCLm (вроде бы и пдфка, но на странице может располагаться только графический блок)

    В том то и дело, на сайте загруженная книга явно ведет себя так, как будто она загружена в стандартный просмоторщик PDF в браузере, но просто нет кнопки "скачать". Мне кажется там именно подгружается PDF. Кстати, про метод распечатывания я знаю и я пробовал, он генерирует печать на несколько страниц, да и в графическом блоке.

  • NSGrid, ну изучайте баги дальше. Уязвимый момент искать в логах при переходе от странице к странице.
    Предполагаю, что в этот момент сайт отдает графический образ нужной страницы.
    скорее как data encoded. А скрипт их рисует на canvas.
  • NSGrid, даже на торрентах нет 15 тома. Всего 14 из 21. Так что не жди.
  • Nicolas Mur, конечно нет, он есть сейчас только на сайте той библиотеки, где я ссылку выше дал, а ранее, как я уже писал, там можно было просто свободно скачать, пока веб-мастера сайта почему-те не убрали эту возможность, вероятно, раньше там просто все скачали и выложили на торренты, если кто-то найдет нормальный способ стянуть, то тогда, видимо появится на торрентах и 15-й том и оставшиеся (когда выйдут).
    Но я вообще не преследовал цель пиратить, я просто для себя хотел скачать в коллекцию как интересное издание перевода всей стенограммы Нюрнбергского процесса на русский язык, который. представьте себе, и спустя столько лет после его завершения до сих пор не сделан в полном объеме. Кроме того, тут сложно говорить о возможном пиратстве, так как эти труды автором распространяется бесплатно. Также на другом сайте с электронными книгами "Милитера" (militera.org/docs/all/s/b55290) первые 14 томов лежат до сих пор и доступны для скачивания в PDF.
  • NSGrid, подгружается PDF с шифрованными потоками, можно сохранить из браузера этот файл pbf и скормить его mutool, например - но у меня результат получился довольно кривым, сотня страниц из середины.
  • Adamos, можете ли вы детали дать? Подгружаете в результате какого действия? И как вы вообще сохранили этот PBF, который по прямой ссылке недоступен?
  • NSGrid, открыл вашу страничку в Firefox с открытыми инструментами разработчика на вкладке "Сеть" и правой кнопкой по запросу сохранил его содержимое. Firefox даже любезно перекодировал base64 в бинарный формат.
  • Adamos, спасибо, понял, у меня сохранилось тоже, файл размером 1024 КБ, а что это вообще за PBF? То есть это некий PDF, но в авторском ("авторском" не в смысле автора публикации, а в смысле за "авторством" веб-мастеров сайта библиотеки) шифрованном исполнении? Интересен, кстати и размер, в 1024 КБ, значит он подгружается по частям или это сжатие такое? Я помню, что полный том, в стандартном нешифрованном PDF, когда они были доступны для скачивания, занимали 3,5 - 4 Мб.
  • NSGrid, можно попробовать полистать страницы в отображаемой книге и посмотреть, не подкачается ли другой .pbf с другим куском материала.
  • Adamos, А, кстати, в колонке "передано" в той строчке, где этот PBF инструментов разработчика браузера Firefox указано, что передано 3.88 Мб. Это как раз примерный размер полного тома в PDF. Интересно почему, сохраняется тогда только 1024 КБ? А вы выбирали команду "Сохранить ответ как (M)"? Или сохранить все как HAR? (хотя PBF сохраняется только при варианте сохранить все как M)
  • NSGrid, потому что тянется base64, а он занимает втрое больше места, полагаю. FF сохраняет бинарный файл.
  • вам надо pdf.js изучить, чтобы понять как это работает. на беглый взгляд никакой pdf там вообще нет
    https://github.com/mozilla/pdf.js
  • На сайте защита минимальная: спрятали кнопки и закомментировали обработчик. Все обходится спокойно инструментами разработчика. Держи файлик.

    • Большое спасибо! А не могли бы вы немного расписать подробности?

      Как скачать защищенный от скачивания PDF-файл с сайта?

      Я залез в инструменты разработчика и нашел эти закоменнтированные строки. И удалил тег hidden="true". Кнопка появилась, но, если на нее нажимаешь, то ничего не происходит, файл не скачивается. Подскажите, плз, что еще надо сделать?

    • NSGrid, кнопка c id = secondaryDownload, у нее убрать класс visibleMediumView и атрибут hidden.
      div с id = secondaryToolbar убрать класс hidden.
      скрин 1

      Как скачать защищенный от скачивания PDF-файл с сайта?

      В интерфейсе появится кнопка скачивания.
      скрин 2

      Как скачать защищенный от скачивания PDF-файл с сайта?

      Но при нажатии файл не выгружается. Смотрим в консоль, там будет blob и ссылка. Ссылка нам не нужна, смотрим откуда пришла запись в консоль, viewer.js:748, переходим к нему и прямо в инструментах разработчика снимаем коммент в функции загрузки, жмем CTRL + S
      скрин 3

      Как скачать защищенный от скачивания PDF-файл с сайта?

      Дальше спокойно нажимаем на кнопку скачивания/
      скрин 4

      Как скачать защищенный от скачивания PDF-файл с сайта?

    • Автор, супер! Еще раз спасибо! Теперь уже сам сделал. Любопытно, в FF почему-то строки в скрипте viewer.js:748 не удавалось править (недоступны для редактирования), пришлось тоже открывать Хром и там все получилось.
      Кстати, а все-таки, что это за https://naukaprava.ru/65eef6c52a6bd.pbf (именно PBF, а не PDF)? Это какая-то отвлекающая пустышка?
    • irishmann Какой Вы молодчина!
      А я мучаюсь вот с этим https://eanbur.unatlib.ru/web/viewer.html?dsfile=3...

      Может, и меня осчастливите :)
      Была бы Вам безгранично благодарна.

    • Orxid,

      Может, и меня осчастливите :)

      Конечно)) вот файлик. Тут не получится описанным выше способом. Но тут тоже простая защита.
      Переходим на сайт, открываем инструменты разработчика и перезагружаем, переходим на вкладку сеть (или network), применяем фильтр fetch/xhr и кликаем на запрос, у которого размер самый большой.
      скрин 1

      Как скачать защищенный от скачивания PDF-файл с сайта?

      Отсюда нам нужны две ссылки: URL запроса и заголовок Referer
      скрин 2

      Как скачать защищенный от скачивания PDF-файл с сайта?

      Если попробовать просто перейти по ссылке URL запроса, то выдаст 405 ошибку. Нам нужно послать запрос GETс заголовком Referer, для этого я использовал Postman, так же через него просто запихнуть результат запроса в файл.
      Открываем postman, проходим логин/регистрацию и выбираем пункт REST API basics
      скрин 3

      Как скачать защищенный от скачивания PDF-файл с сайта?

      Сформируется коллекция с примерами запросов к REST API. Выбираем метод GET, вставляем ссылку из URL запроса, открываем вкладку Headers, добавляем заголовок Referer и указываем ссылку, которую получили из поля referer в инструментах разработчика.
      скрин 4

      Как скачать защищенный от скачивания PDF-файл с сайта?

      Нажимаем кнопку send, запрос выполняется и в нижней части экрана будет результат.
      скрин 5

      Как скачать защищенный от скачивания PDF-файл с сайта?

      Нажимаем на три точки и выбираем пункт меню Save responce to file, скачается pdf-файл.

    • NSGrid, ранее не сталкивался с таким форматом. В вики OpenStreetMap пишут что этот формат "предназначен в первую очередь для замены Формата XML", еще есть версия что это "Файл резервной копии Paragon". Но тут кажется что в PBF лежит обычный pdf.
    • irishmann, Огромное Вам спасибо! В самом деле, счастлива)))
      Спасибо за пошаговую инструкцию, буду пробовать.
      Всего Вам самого доброго!
    • irishmann, pbf (protobuf) это формат, который с OSM напрямую не связан, просто там его стали использовать вместо XML и это оказалось более эффективно по размеру.

    Ответы:

    Скопировать через буфер можно только неформатированный текст и только текущие +-10 страниц (вручную можно но долго и нудно, потом сшивать).
    1. Реверсить их вьювер долго и дорого.
    2. Скринить странички - для личного использования подойдет (набор картинок, соединить в pdf и читать не проблема, но железные слабые читалки могут такие не прожевать), сделать не программисту можно с помощью любой автоматизации, например autoit. Логика следующая - открываешь нужный сайт в максимальном размере на полный экран (полный экран и настроить По ширине страницы), затем продумываешь свои действия (мышь/клавиатура) такими, чтобы если их повторять, копировалось все содержимое без пропусков и повторов, в данном случае это кнопка PageDown и копирование экрана (можно по количеству страниц посчитать сколько это будет действий)

    В коде autoit это будет for loop

    For $i = 1 To 100500 ... Next

    For $i = 1 To 100500 ... Next

    шлешь нажатие кнопки
    Send('{PGDN}')

    ждешь секунду (там примерно каждые 10 страниц генерация и удаление старых) sleep

    делаешь скрин с экрана

    _ScreenCapture_Capture(StringFormat('%09i', $i) & '.png', 0, 0, @DesktopWidth, @DesktopHeight, False)

    _ScreenCapture_Capture(StringFormat('%09i', $i) & '.png', 0, 0, @DesktopWidth, @DesktopHeight, False)

    нужно подобрать размеры чтобы лишнее не копировать
    StringFormat тут добавляет к номеру слева нули, чтобы при сшивании порядок не был 1 -> 11 -> 2 -> 3....

    по итогу работы получишь тысячу картинок, объединяешь их с помощью imagemagic
    magick *.png out.pdf

    3. способ - их pdf просмотрщик генерирует валидный html для текста (с картинками сложнее),
    css selector
    $('#pageContainer2 > .textLayer').innerHTML
    тут номер у pageContainer это номер страницы, но в один момент времени заполнены текстом только текущие видимые +- поэтому код нужно будет написать, чтобы корректно в нужный момент времени читать нужные

    Можно конечно заморочиться и запилить selenium приложение которое будет листать странички и собирать html-ку, можно в полуручном режиме прямо в браузере в консоли написать пару строчек, собирая текст в localStorage (он ограничен 5-мб кажется). html код там прямо такой (по кускам текста как они были в pdf)
    Кликать на следующую страничку - $('#next').click()

    <div style="left: 83.5342px; top: 384.732px; font-size: 20.5963px; font-family: serif; transform: scaleX(0.793798);" data-canvas-width="404.5723586629188">Стенограмма  Нюрнбергского  процесса.  Том </div>

    <div style="left: 83.5342px; top: 384.732px; font-size: 20.5963px; font-family: serif; transform: scaleX(0.793798);" data-canvas-width="404.5723586629188">Стенограмма Нюрнбергского процесса. Том </div>

    т.е. останется только стили добавить или скопировать их с сайта и готовая отформатированная html будет готова

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Максим Павлов Ответ

    Для скачивания защищенного от скачивания PDF-файла с сайта, вам потребуется использовать специальные инструменты или программы, которые могут помочь вам обойти защиту и сохранить файл на вашем компьютере.

    Одним из способов скачать защищенный PDF-файл с сайта является использование программного обеспечения, такого как Adobe Acrobat Pro или другие PDF-редакторы, которые могут помочь вам сохранить файл на вашем компьютере.

    Еще один способ - использование онлайн-сервисов, которые предлагают инструменты для скачивания защищенных PDF-файлов. Однако, помните, что использование таких сервисов может нарушать авторские права и законы о защите интеллектуальной собственности.

    Также вы можете попробовать скопировать содержимое защищенного PDF-файла и вставить его в другой документ или программу, которая позволяет сохранять файлы.

    Независимо от выбранного способа, помните, что важно соблюдать законы о защите авторских прав и использовать скачанные файлы только в соответствии с законодательством.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно