Executando verificação de segurança...
4

Eu utilizei recentemente um sistema em react quando estava seguindo as aulas do NLW return da rockeatseat que pode ser que funcione no seu projeto, pra isso usamos a biblioteca 'html2canvas', a vantagem é que convertemos ela para uma imagem base64 que pode ser usada para armazenar em banco de dados e tal, por ser uma imagem em formato de texto

const canvas = await html2canvas(document.querySelector('html')!);
const base64image = await canvas.toDataURL('image/png');
Carregando publicação patrocinada...
4

ahh, valeu por responder. Acabei achando uma solução ainda agora, a API do savepege.io.

Fiz o cadastro, peguei a minha API key da API e achei como fazer um request na documentação. https://docs.savepage.io/

Um exemplo usando CURL fica assim:
curl -X POST https://api.savepage.io/v1 --data "key={APIKEY}q={SITE}" --output image.jpg

Eu adaptei isso para usar a API com Python:

img = post("https://api.savepage.io/v1/?key={APIKEY}q={SITE}&nocookie&noads")
open("teste.jpg", 'wb').write(img.content)

Foi o que serviu pra mim, mas na documentação existem diversos outros parâmetros pra você usar.
A API gratuita aceita pouco mais de 7 mil requests por mês.