Então, quando tentei baixar esta página da Web com o wget, o texto e o estilo funcionam bem, mas algumas imagens estão faltando. Após pesquisas adicionais, os arquivos não são baixados porque o url wget tenta recuperá-los é inválido, como sugere a saída do console:
URL transformed to HTTPS due to an HSTS policy
--2021-07-13 21:53:51-- https://www.inhaltsangabe.de/autoren/%7B%7B%20data.avatar_url%20%7D%7D
Reusing existing connection to [www.inhaltsangabe.de]:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.inhaltsangabe.de/autoren/%7B%7B%20data.avatar_url%20%7D%7D/ [following]
--2021-07-13 21:53:52-- https://www.inhaltsangabe.de/autoren/%7B%7B%20data.avatar_url%20%7D%7D/
Reusing existing connection to [www.inhaltsangabe.de]:443.
HTTP request sent, awaiting response... 404 Not Found
2021-07-13 21:53:53 ERROR 404: Not Found.
A imagem real no site é acessível e tem a seguinte url:
https://www.inhaltsangabe.de/wp-content/themes/yootheme/cache/brecht-276fafb8.jpeg
Outras imagens funcionam bem no arquivo baixado. Isso parece ter algo a ver com codificação de URL, mas não tenho ideia de como resolver esse problema.
Meu comando:
wget -p www.inhaltsangabe.de/autoren/brecht
(também por favor, seja gentil, pois esta é a minha primeira pergunta feita aqui)
Erros 404
A decodificação das partes codificadas dos links com falha revela que os "caminhos" são, na verdade, nomes de variáveis presentes na fonte do documento (por exemplo,
%7B%7B%20data.avatar_url%20%7D%7D
torna -se{{ data.avatar_url }}
). Portanto, esse provavelmente seria o motivo para retornar as404
respostas, não a codificação.A entrelinha
https://www.inhaltsangabe.de/autoren/
provavelmente é (mal) aplicadawget
porque cada variável aparece em um atributo de<img>
tag :src
ex. {{ data.images.thumbnail.url }}
ex. {{ data.avatar_url }}
JPEG ausente
Em relação
brecht-276fafb8.jpeg
a , embora reconhecidamente um palpite educado, parece provável quewget
esteja processando<img>
tagssrc
esrcset
atributos na fonte do documento, mas não qualquerdata-src
atributodata-srcset
. Por exemplo:ex. brecht-276fafb8.jpeg -> data-src, data-srcset (Falha!)
<img class="el-image uk-border-circle uk-box-shadow-small" alt="Bertolt Brecht" data-src="/wp-content/themes/yootheme/cache/brecht-276fafb8.jpeg" data-srcset="/wp-content/themes/yootheme/cache/brecht-276fafb8.jpeg 350w" data-sizes="(min-width: 350px) 350px" data-width="350" data-height="350" uk-img>
ex. bradbury.jpg ->src, srcset (Sucesso!)
<img width="300" height="300" src="https://www.inhaltsangabe.de/dateien/bradbury-300x300.jpg" alt="Ray Bradbury" sizes="(min-width: 300px) 300px" srcset="https://www.inhaltsangabe.de/dateien/bradbury-300x300.jpg 300w, https://www.inhaltsangabe.de/dateien/bradbury-150x150.jpg 150w, https://www.inhaltsangabe.de/dateien/bradbury.jpg 400w"/>
Isso faz sentido, pois os atributos
src
esrcset
provavelmente afetam a apresentação geral do documento (ou seja, imagens a serem exibidas), enquantodata-*
os atributos visam principalmente scripts etc. e não têm nenhum valor de apresentação por conta própria.Tanto quanto sei, pelo menos nas versões anteriores, os atributos personalizados (por exemplo
data-*
, ) geralmente não eram suportados pelowget
. Em relação asrc
escrset
, você pode vê-los explicitamente mencionados nas listas de atributos a serem processadossrc/html-url.c
no código-fonte dewget
).Infelizmente, não tenho conhecimento de uma boa solução para este problema. Meu pensamento pode ser fazer algum pós-processamento manual na fonte de documento fornecida com algo como BeautifulSoup para extrair quaisquer links relevantes. Mas não tenho certeza se isso pode ser considerado um "bom" ou não.