Почему wget игнорирует строку запроса в URL-адресе?

Я хочу использовать wget для загрузки следующих 18 html файлов:

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

Независимо от того, что происходит после page=, он всегда загружает первую страницу списка. Нужно ли мне скрывать некоторые символы в URL-адресах? Как?

Ответы

Ответ 1

& является специальным символом в большинстве оболочек, вы можете использовать двойные кавычки, чтобы процитировать URL-адрес, чтобы передать все это как параметр wget:

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

Ответ 2

  • Сохраните список URL-адресов в файле (каждый URL-адрес в отдельной строке!):

    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

  • Вызовите wget, чтобы получить материал:

    wget -i wget_filelist.txt