Координаты каждого фрагмента закодированы в имени файла, например:
01____.jpg
Пример:
01_181.5_41_738_148.jpg
Из HTML эти фрагменты позиционируются с помощью CSS, например:
Я предположил, что эти фрагменты можно соединить вместе, чтобы восстановить всю страницу.
Я смотрю на https://epaper.janayugomonline.com/
Ожидаемое изображение такое.
Однако выходное изображение смещено:
Некоторые области перекрываются, Некоторые части отсутствуют, Окончательный макет не соответствует оригиналу страница
Идеально восстановленная полная страница.
import requests
from PIL import Image
from io import BytesIO
urls = [
"
","
","
","
","
","
","
","
","
","
","
","
"]
tiles = []
max_w, max_h = 0, 0
for url in urls:
name = url.split("/")[-1].replace(".jpg", "")
_, x, y, w, h = name.split("_")
x, y, w, h = map(float, [x, y, w, h])
img = Image.open(BytesIO(requests.get(url).content))
tiles.append((img, round(x), round(y)))
max_w = max(max_w, round(x + w))
max_h = max(max_h, round(y + h))
canvas = Image.new("RGB", (max_w, max_h), (255, 255, 255))
for img, x, y in tiles:
canvas.paste(img, (x, y))
canvas.save("output.jpg")