wget - salva todos os dados (imagens) do diretório fornecido?

0

Eu quero que o wget verifique sub e subdiretórios de:

domain.com/profile/username/albums/

Em seguida, pegue todos os arquivos .jpg de suas fontes.

O Wget deve receber arquivos como:

domain.com/profile/username/albums/album1/43434

(...)

domain.com/profile/username/albums/album6/4343

E baixe cada imagem de suas fontes (infelizmente essas imagens estão em servidores diferentes).

Isso é possível?

Eu tenho jogado com -p -A .jpg e -r 1/2/3/4/5, mas ele pega tudo, como:

domain.com/profile/anotherusername/albums

domain.com/site/contactus

domain.com/site/anothersite

commercials-for-domain.com/banner/

etc.

wget -E -H -k -K -p domain.com/profile/username/albums/album1/43434

Funciona perfeitamente, mas com apenas uma página; Não sei como "digitalizar" diferentes álbuns e arquivos.

Eu preciso fazer isso porque uma amiga minha roubou seu computador e todas as fotos dela estão nesta página e em nenhum outro lugar. Existem quase 200 deles com overlays de div acima deles, por isso é difícil salvá-los manualmente!

[editar]

A árvore do caminho é exatamente assim:

Primeiro nível:

domain.com/profile/username/albums/

Segundo nível:

domain.com/profile/username/albums/1,My Birthday Photos/

domain.com/profile/username/albums/2,Photos_From_2011-09-25/

Terceiro nível:

domain.com/profile/username/albums/1,My Birthday Photos/75893989,

domain.com/profile/username/albums/2,Photos_From_2011-09-25/74893213,

    
por michail 28.10.2011 / 03:58

1 resposta

1

OK .. Todas as fotos nos dois álbuns são recuperadas.

Quanto a como, e como pode ser determinado pelos comentários que fiz e com os comentários de michail.

Existem dois álbuns .. link um tem 100 fotos, as outras 63 fotos.

Aqui, aquele com 100 deles link Aqui está o álbum com 63 deles link

Pegando o código-fonte daqui, primeiro álbum link

Extraindo os URLs das imagens Todas as miniaturas terminam em _72_p.jpg Nós não queremos que eles queiram as versões maiores, eles exigem na URL que amin.fotka seja alterado para a.fotka, e _72_p seja alterado para _500_s

Este é o mesmo para o segundo álbum .. por exemplo, para o segundo álbum com 63 fotos link

aqui está blist3.txt Uma lista com todos os JPGs listados no formulário _72_p link

Você pode conseguir isso com uma linha como essa ...

C:\>type source.txt | grep -oE "http://.*?\.jpg"  >urls

edite a fonte para remover quaisquer partes diversas ... como atributos HTML, coisas óbvias que não deveriam estar lá.

ou use esta linha que é melhor e deve obtê-los todos sem qualquer coisa para remover.

C:\>type source.txt | grep -oE "http://[^ ]*\.jpg"  >urls

Você tem mais URLs do que deseja, para o segundo álbum, esse comando dá 97 e você quer apenas aqueles com _72_p na URL

So | grep -E "72_p" para obter uma lista das fotos que você deseja.

C:\>type list.txt | wc -l

63 veja que há 63 nesse arquivo, o número correto.

são todos nesse álbum. Todos os 63

wget -i list.txt -w 3

link

Então são todos eles, todos os 163 (100 + 63) deles, dos dois álbuns.

Esta é a linha que seria usada para obter uma lista dos JPGs. O listps2.txt é um arquivo com todos os JPGs, tanto os relevantes quanto os irrelevantes. Os relevantes estão no formato 72_p, extraiam os relevantes com o grep. E mude-os com o SED. coloque-os em "thatfile", e você pode fazer wget -i thatfile -w 3. Como eu fiz.

C:\>type listps2.txt | grep "72_p" | sed "s/_72_p/_500_s/" | sed "s/amin\.fotka/a.fotka/" >thatfile

C:\>wget -i thatfile
    
por 29.10.2011 / 05:27

Tags