web-dev-qa-db-fra.com

Pourquoi wget ignore la chaîne de requête dans l'URL?

Je souhaite utiliser wget pour télécharger les 18 fichiers html suivants:

http://www.ted.com/talks/quick-list?sort=date&order=desc&page=18  
http://www.ted.com/talks/quick-list?sort=date&order=desc&page=17  
...  
http://www.ted.com/talks/quick-list?sort=date&order=desc&page=1

Peu importe ce qui vient après page=, il télécharge toujours la première page de l'annonce. Dois-je échapper certains caractères dans les URL? Comment?

27
Majid Fouladpour

& est un caractère spécial dans la plupart des environnements Shell, vous pouvez utiliser des guillemets doubles pour citer l'URL pour passer le tout comme paramètre à wget:

wget "http://www.ted.com/talks/quick-list?sort=date&order=desc&page=18"
46
hrbrmstr
  1. Stockez votre liste d'URL dans un fichier (chaque URL sur une ligne distincte !!):

    echo "http://www.ted.com/talks/quick-list?sort=date&order=desc&page=18 http://www.ted.com/talks/quick-list?sort=date&order=desc&page=17 ... " > wget_filelist.txt

  2. Appelez wget pour récupérer le contenu:

    wget -i wget_filelist.txt

3
Stefan Woehrer