wget somente páginas pai usando {..}

0

Eu tenho tentado baixar páginas específicas no site. O site usa um URL comum para acessar as próximas páginas, como abaixo.

link

link

link até 450.

Eu só quero baixar essas páginas e não os hiperlinks que estão vinculados nas páginas (não significam as páginas filhas, apenas o arquivo principal, por exemplo,? p1 e? p2 etc).

Eu tentei usar o comando abaixo, mas não está funcionando.

 wget --load-cookies=cookies.txt https://example.com/pages/\?p\=\{1..450\}

Isso significa que {..} não funcionará no wget? Se não, existe alguma opção que eu possa usar para atingir meu objetivo?

    
por smc 16.04.2018 / 12:26

3 respostas

1

Usando um shell que entende os intervalos aritméticos nas expansões de chaves (por exemplo, bash e ksh93 e zsh ):

wget --load-cookies=cookies.txt "https://example.com/pages/?p="{1..450}

Isso seria expandido (antes de wget ser chamado) para

wget --load-cookies=cookies.txt "https://example.com/pages/?p="1 "https://example.com/pages/?p="2 "https://example.com/pages/?p="3 ... "https://example.com/pages/?p="450

com curl :

curl --cookie-jar cookies.txt "https://example.com/pages/?p="{1..450}

Salvando a saída em arquivos individuais com curl :

curl --cookie-jar cookies.txt -Ooutfile{1..450}.html "https://example.com/pages/?p="{1..450}
    
por 16.04.2018 / 15:12
0

while loop faz o trabalho para mim.

#!/bin/sh
a=1
while [ $a -lt 450 ]
do
wget --load-cookies=cookies.txt https://example.com/pages/\?p\=$a
a='expr $a + 1'
done
    
por 16.04.2018 / 13:57
0

Você já tentou um download recursivo de 1 profundidade de " link "?

A opção "-l 1" deve definir a profundidade recursiva como 1.

fonte: link

    
por 16.04.2018 / 14:55