Como posso baixar imagens geradas por scripts em um site?

1

Estou tentando espelhar um site.

Ele segue um esquema simples de arquivos .htm, mas há um problema. Cada arquivo contém a seguinte linha:

<img width="100%" src="http://DOMAIN.org/CREATE_IMAGE.php">

Eu preciso baixar essa imagem, mas o httrack e o wget ignoram as saídas do script ao baixar um arquivo.

O script php não aceita nenhum parâmetro. Ele determina qual imagem será enviada internamente. Cada arquivo .htm obtém uma saída diferente. Então eu não posso simplesmente chamar o arquivo php. Ele precisa ser baixado como algum tipo de dependência do arquivo .htm correspondente.

Como posso configurar o wget ou o httrack ou realmente qualquer outra ferramenta para obter o que preciso?

    
por Dr.Elch 04.06.2013 / 13:02

1 resposta

0

Você não pode baixar e executar o arquivo .php, já que ele deve ser executado no servidor.

Se o site for como:

<html>
...
<img width="100%" src="http://DOMAIN.org/CREATE_IMAGE.php">...</html>

Quandovocêobtémaorigemdapágina,nãoépossívelverisso(noladodocliente).Oquevocêdeveveré:

<html>...<imgwidth="100%" src="http://DOMAIN.org/IMAGE_LINK_GENERATED_BY_THE_PHP_SCRIPT">...</html>

Vocêpodeentãowgetohtml,analisá-loebaixaraimagem.Vocêdeveconheceropadrãodonomedoarquivoouasextensõespossíveis.Sevocênãofizerisso,poderárepetirumalistadepossíveisextensões.Paraapenasumaimagem,deveseralgocomoisto:

#Getthehtmlforustoparsewgethttp://DOMAIN.org/index.html-Oindex.html#Listofcommonimageextensionsexts=("png" "jpg" "jpeg" "bmp" "gif")
for ext in ${exts[@]}
do
    # Parse the html looking for an image
    # You'll have to adapt the regex, of course
    # man grep to see what each letter stands for
    img='grep -shoiP "DOMAIN\.org/.+\.${ext}" index.html'
    if [ "$img" = "" ]
    then
        continue
    else
        break
    fi
done
wget $img

Claro que você terá que adaptar isso.

    
por 04.06.2013 / 13:24