No Linux, como posso buscar uma URL e obter seu conteúdo em uma variável no script de shell?
115
Você pode usar o wget
comando para baixar a página e lê-la em uma variável como:
content=$(wget google.com -q -O -)
echo $content
Usamos a -O
opção wget
que nos permite especificar o nome do arquivo no qual wget
despeja o conteúdo da página. Especificamos -
para obter o dump na saída padrão e coletá-lo na variável content
. Você pode adicionar o-q
opção silenciosa para desligar a saída do wget.
Você também pode usar o comando curl para isso:
content=$(curl -L google.com)
echo $content
Precisamos usar a -L
opção, pois a página que estamos solicitando pode ter sido movida. Nesse caso, precisamos obter a página do novo local. A opção -L
ou --location
nos ajuda com isso.
src
atributo do elemento correto e, em seguida, baixar essa página. Se você instalar tq , este comando deve fazê-lo:curl -s http://ww1.watchop.io/manga2/read/one-piece/1/4 | tq -j -a src "#imgholder a img" | xargs wget
convert_links = on
com-O-
opção. Está falhando com erro-k can be used together with -O only if outputting to a regular file.
. É esperado?Existem muitas maneiras de obter uma página a partir da linha de comando ... mas também depende se você deseja o código-fonte ou a própria página:
Se você precisar do código-fonte:
com curl:
com wget:
mas se você deseja obter o que pode ver com um navegador, o lynx pode ser útil:
Acho que você pode encontrar tantas soluções para este pequeno problema, talvez você deva ler todas as páginas de manual para esses comandos. E não se esqueça de substituir
$url
pelo seu URL :)Boa sorte :)
fonte
Existe o
wget
comando ou ocurl
.Agora você pode usar o arquivo baixado com o wget. Ou você pode lidar com um fluxo com curl.
Recursos :
fonte
fonte
Se você tiver o LWP instalado, ele fornece um binário chamado simplesmente " GET ".
wget -O-
,curl
elynx -source
se comportam de maneira semelhante.fonte
Você pode usar
curl
ouwget
para recuperar os dados brutos ou pode usarw3m -dump
para ter uma bela representação de texto de uma página da web.fonte