Как 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 не загружает файлы рекурсивно
  • wget - поврежденные каталоги
  • Альтернативы wget
  • зеркало сайта с wget, что только ответ с gzip
  • Необходимый инструмент для загрузки - с настраиваемыми заголовками, возобновлением, повторной попыткой, выдачей пользовательского имени файла и динамическим перенаправлением
  • Почему параллель замедляется через некоторое время?
  • Загрузите веб-страницу, поставив все, что нужно, в выделенный каталог?
  • Использование переменной даты с помощью wget -post-data
  • Как сделать рекурсивную загрузку с помощью gwget (wget frontend)?
  • Отфильтруйте гиперссылки с веб-страницы и загрузите все, что соответствует определенному шаблону
  • Загрузите документы, на которые ссылается веб-страница с wget
  • Interesting Posts

    Подстановочный файл Makefile $ соответствует только верхней директории

    Сигнализировать об окончании аргументов опции: двойные тире `–` против одинарной тире` -`?

    NetworkManager на Fedora 15 не может найти часто используемую беспроводную сеть

    apt-get install ubuntu-desktop; что теперь?

    Что такое «структуры данных ядра»?

    grep окружающие символы матча

    Как заставить ssh-agent работать во всех терминалах?

    Как начать процесс с помощью cpulimit?

    Использование Evince вместо Okular для Alpine (настройка MIME для просмотра PDF-файлов)

    Может ли udisks2 смонтировать что-либо, что может сделать команда «mount»? Могу ли я, например, смонтировать общий ресурс smb?

    Тестирование, если переменная пуста в сценарии оболочки

    Многодисковые диапазоны файлов в лексикографическом порядке в zsh

    Отметить как исполняемый файл

    Как предупредить sed -i от уничтожения символических ссылок?

    ADB не признает Samsung GT-I9000

    Linux и Unix - лучшая ОС в мире.