Соскоблите разбитые изображения и объедините их, чтобы сделать полные изображения для создания электронных книг - PullRequest
0 голосов
/ 07 июня 2018

Мне нужно соскрести изображения с нового веб-сайта, чтобы создавать электронные книги (PDF) из изображений для чтения в автономном режиме.На этом веб-сайте есть каждая отдельная страница романа и кнопки «Вперед» и «Предыдущий» для перехода по страницам.

Проблема в том, что изображение, показанное на этом сайте, на самом деле разбито на более мелкие изображения.

В качестве примера вы можете увидеть этот роман здесь: http://kitaabghar.org/bookshelf01/AhmedShaheer/RedEyeImranSeriesNovel.php

ИЛИ

http://kitaabghar.org/bookshelf01/AhmedShaheer/RedEyeImranSeriesNovel.php?page=1

Изображение, показанное на сайте, состоит изтри изображения, которые следующие,

  1. http://urdunovels.kitaabghar.org/A-Shelf/AhmedShaheer/RedEyeImranSeriesNovel/us1a6s0i3st1nr2e0d1e6ye-1.gif
  2. http://urdunovels.kitaabghar.org/A-Shelf/AhmedShaheer/RedEyeImranSeriesNovel/ls1a6s0i3st1nr2e0d1e6ye-1.gif
  3. http://urdunovels.kitaabghar.org/A-Shelf/AhmedShaheer/RedEyeImranSeriesNovel/rs1a6s0i3st1nr2e0d1e6ye-1.gif

Каждая следующая страница увеличиваетсячисло в URL-адресе примерно так: http://kitaabghar.org/bookshelf01/AhmedShaheer/RedEyeImranSeriesNovel.php?page=2 http://kitaabghar.org/bookshelf01/AhmedShaheer/RedEyeImranSeriesNovel.php?page=3

Я нашел способ с curl, но он работает с полными изображениями, а не с разбитыми, как эти.

Итак, мне нужно было только зайти в каждый журнал, проверить URL, а затем свернуть все jpeg:

curl -A 'Mozilla/5.0 (X11; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0' -v -o ./#1.jpg http://website.com/random/generated/links/[x-xx]/more/random/goodness

Где x-xx указывает диапазон чисел jpegs, указывая номер страницы,-o указывает, что файлы именуются в текущем каталоге, в котором находится оболочка, а символ # указывает, что используемое имя файла совпадает с номером переменной в ссылке, поскольку все jpegs на сайте называются 0.jpeg.Не знаю почему, но номер 1 должен был быть после #, чтобы он работал.-A указывает пользовательский агент, который в этой ситуации является новейшим Firefox, работающим в Linux, поскольку, очевидно, некоторые серверы могут замечать использование wget и curl и даже блокировать эти соединения.Это заставляет их думать, что вы просто пользователь, приходящий на сайт с Firefox под Linux.

Теперь мне просто нужно преобразовать их в pdf с помощью imagemagick (который очень, очень удобный инструмент для всего).Я только что ввел:

convert `ls -1v` file.pdf

И я получаю файл PDF со всеми jpgs в нем в числовом порядке.Теперь просто подключите это к любому устройству и наслаждайтесь чтением в автономном режиме.

ПРИМЕЧАНИЕ: Это не мой собственный метод, а кто-то другой.Тем не менее, он работает на нескольких сайтах, которые содержат непрерывные изображения.Но не на этом сайте.

Любая помощь будет оценена.

REGARDS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...