Skip to content

Instantly share code, notes, and snippets.

@squizduos
Last active February 11, 2024 10:03
Show Gist options
  • Save squizduos/901391a86298ab3083e070351435b5e3 to your computer and use it in GitHub Desktop.
Save squizduos/901391a86298ab3083e070351435b5e3 to your computer and use it in GitHub Desktop.
Скачивание книг, доступных только для просмотра, с book.ru

Скачиваем книги, закрытые для скачивания, с book.ru

WARNING: книги доступны только в виде набора изображений.

Токен доступа к книге извлекается из режима чтения на сайте book.ru, и имеет вид https://reader.new.book.ru/?t=&v=0

#!/bin/bash
token="<KEY>"
echo "Извлекается информация о книге..."
curl 'https://reader.new.book.ru/api/reader/book' \
-H 'authority: reader.new.book.ru' \
-H 'accept: application/json, text/plain, */*' \
-H 'accept-language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7,uk;q=0.6,zh-TW;q=0.5,zh;q=0.4,ko;q=0.3,tt;q=0.2' \
-H 'authorization: Bearer '$token \
-H 'cookie: _ym_uid=1673594313647687580; _ym_d=1673594313; _ym_isad=1' \
-H 'referer: https://reader.new.book.ru/?t='$token'&v=0' \
-H 'sec-ch-ua: "Not_A Brand";v="99", "Google Chrome";v="109", "Chromium";v="109"' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'sec-ch-ua-platform: "macOS"' \
-H 'sec-fetch-dest: empty' \
-H 'sec-fetch-mode: cors' \
-H 'sec-fetch-site: same-origin' \
-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36' \
--compressed --output description.json 1> /dev/null
author=$(cat description.json | jq -r '.message .data .author')
name=$(cat description.json | jq -r '.message .data .name')
pages=$(cat description.json | jq '.message .data .pages')
echo "Скачивается книга \""$author" - "$name"\" ("$pages" страниц)"
for ((i=1;i<=$pages;i++)); do
curl 'https://reader.new.book.ru/api/books/page_view/'$i'/'$token \
-H 'authority: reader.new.book.ru' \
-H 'accept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8' \
-H 'accept-language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7,uk;q=0.6,zh-TW;q=0.5,zh;q=0.4,ko;q=0.3,tt;q=0.2' \
-H 'cookie: _ym_uid=1673594313647687580; _ym_d=1673594313; _ym_isad=1' \
-H 'referer: https://reader.new.book.ru/?t='$token'&v=0' \
-H 'sec-ch-ua: "Not_A Brand";v="99", "Google Chrome";v="109", "Chromium";v="109"' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'sec-ch-ua-platform: "macOS"' \
-H 'sec-fetch-dest: image' \
-H 'sec-fetch-mode: no-cors' \
-H 'sec-fetch-site: same-origin' \
-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36' \
--compressed -v --output `printf %04d $i`."png" 1> /dev/null
done
bookname=$author' - '$name'.pdf'
echo "Конвертируется книга в файл \"".$bookname"\""
convert *.png $bookname
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment