Как wget Youtube ужасный URL

Я собираюсь найти страницу поиска youtube, где URL-адрес ужасен. Это пример при поиске searchkeyword отсортированном по дате загрузки:

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

и это страница 2 результата поиска:

 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 

Wget дает мне вводящую в заблуждение страницу для обеих страниц.

3 Solutions collect form web for “Как wget Youtube ужасный URL”

Обертка URL-адреса в одинарных кавычках должна делать трюк. Кроме того, вы также захотите указать имя загруженного файла (в противном случае у него будет странное имя, которое wget угадывает из URL-адреса). Так

 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 

Объяснение по комментарию laebshade (спасибо, что напомнило мне): многие забавные символы в URL будут интерпретироваться оболочкой как специальные команды или другие управляющие последовательности. С вершины моей головы, ~! # ^ & * все будет означать что-то еще в оболочке (зависит от того, какую оболочку вы используете). Вы можете использовать \ чтобы избежать их по одному, или процитировать все это.

Не используйте wget для загрузки отдельных страниц. Он лучше подходит для таких вещей, как рекурсивная загрузка целых сайтов. Попробуйте вместо этого curl .

Кроме того, убедитесь, что вы приводите свои аргументы в командной строке, чтобы вы не сталкивались с проблемами глобализации оболочки с такими символами ? ,

 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 

Используйте youtube-dl для загрузки видео Youtube. Это эпический скрипт python. Это req's Python. Если у вас Ubuntu, установите с помощью этой команды: sudo apt-get install youtube-dl иначе вы можете напрямую загрузить его с веб-сайта: http://rg3.github.com/youtube-dl/

  • Использование wget и grep для загрузки HTML-страниц и фильтрации по ключевым словам
  • В чем разница между curl и wget?
  • Wget regex не удается получить файлы через ftp
  • Резюме не удалось загрузить с помощью инструмента командной строки Linux
  • Как загрузить дубликаты изображений?
  • Использование wget для целевых файлов в диапазоне дат
  • wget не сохранять файл после загрузки
  • В чем смысл «+» в строке выполнения wget?
  • Почему параллель замедляется через некоторое время?
  • Можно ли загрузить эти веб-страницы в виде книги?
  • Как загрузить папку с диска Google с помощью терминала?
  • Linux и Unix - лучшая ОС в мире.