Como wget Youtube URL horrível

5

Vou visitar a página de pesquisa do YouTube, onde o URL é horrível. Este é um exemplo ao pesquisar searchkeyword ordenada pela data de envio:

wget http://www.youtube.com/results?search_type=videos&search_query=searchkeyword&search_sort=video_date_uploaded&suggested_categories=26%2C27%2C22%2C28%2C24

e este é a página 2 do resultado da pesquisa:

wget http://www.youtube.com/results?search_type=videos&search_query=searchkeyword&search_sort=video_date_uploaded&suggested_categories=26%2C27%2C22%2C28%2C24&page=2

O wget me dá uma página enganosa para as duas páginas.

    
por lokomika 17.07.2011 / 07:07

3 respostas

9

Quebra de URL entre aspas simples deve ser suficiente. Além disso, você também desejará dar um nome ao arquivo baixado (caso contrário, ele terá o nome estranho que wget adivinhou do URL). Então

wget 'http://www.youtube.com/results?search_type=videos&search_query=searchkeyword&search_sort=video_date_uploaded&suggested_categories=26%2C27%2C22%2C28%2C24' -O nice_name.html

Explicação conforme o comentário da laebshade (obrigado por lembrar-me): Os muitos personagens engraçados na URL serão interpretados pelo shell como comandos especiais ou outras seqüências de controle. Do alto da minha cabeça, ~! # ^ & * tudo significará algo mais para o shell (depende do shell que você está usando). Você pode usar \ para escapar deles um por um, ou citar a coisa toda.

    
por 17.07.2011 / 07:17
4

Não use wget para fazer o download de páginas individuais. É mais adequado para coisas como downloads recursivos de sites inteiros. Experimente curl .

Além disso, certifique-se de citar seus argumentos na linha de comando para que você não encontre problemas com o shell globing com caracteres como ? .

curl 'http://www.youtube.com/results?search_type=videos&search_query=searchkeyword&search_sort=video_date_uploaded&suggested_categories=26%2C27%2C22%2C28%2C24&page=2' \
    > results.html
    
por 17.07.2011 / 07:51
3

Use o youtube-dl para baixar vídeos do Youtube. É um script épico de python. É o Python do req. Se você tem o Ubuntu, instale com este comando: sudo apt-get install youtube-dl , caso contrário você pode baixá-lo diretamente do site: link

    
por 18.07.2011 / 02:00

Tags