Мне нужно соскрести изображения с нового веб-сайта, чтобы создавать электронные книги (PDF) из изображений для чтения в автономном режиме.На этом веб-сайте есть каждая отдельная страница романа и кнопки «Вперед» и «Предыдущий» для перехода по страницам.
Проблема в том, что изображение, показанное на этом сайте, на самом деле разбито на более мелкие изображения.
В качестве примера вы можете увидеть этот роман здесь: http://kitaabghar.org/bookshelf01/AhmedShaheer/RedEyeImranSeriesNovel.php
ИЛИ
http://kitaabghar.org/bookshelf01/AhmedShaheer/RedEyeImranSeriesNovel.php?page=1
Изображение, показанное на сайте, состоит изтри изображения, которые следующие,
- http://urdunovels.kitaabghar.org/A-Shelf/AhmedShaheer/RedEyeImranSeriesNovel/us1a6s0i3st1nr2e0d1e6ye-1.gif
- http://urdunovels.kitaabghar.org/A-Shelf/AhmedShaheer/RedEyeImranSeriesNovel/ls1a6s0i3st1nr2e0d1e6ye-1.gif
- 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