LINUX.ORG.RU

Объясните, пожалуйста, насчёт wget

 , ,


0

2

Хочу через wget сохранить страницу с изображениями. Ввожу в терминале:

wget -p -k -P ~/tmp http://osmiev.livejournal.com/375717.html

В результате у себя в ~/tmp/osmiev.livejournal.com имею только 375717.html и robots.txt. Но ведь ключ -к к wget'у я же указал. Почему ж тогда изображения не затянулись? Спасибо за внимание.

★★★★★

Ключ -r нужно указать, а также -l (уровень рекурсии) и возможно -e robots=off. Возможно также будет иметь смысл указать в параметре -A расширения файлов, которые ты хочешь сохранить. Возможно тебе ещё понадобится ключ -H, если картинки расположены в другом домене.

Ключи -p и -k действительны только для рекурсивной загрузки, т.е. -r.

Читай man wget, вобщем. Или env LANG=C wget --help|less, там понятней.

firestarter ★★★☆
()
Последнее исправление: firestarter (всего исправлений: 5)
Ответ на: комментарий от lucentcode

А зачем вам танцы с бубном с установкой переменной окружения в LANG=C?

Чтобы help был на английском. Переводы пишут школьники, часто пишут такую муть что хрен поймёшь что имеется в виду.

firestarter ★★★☆
()
Ответ на: комментарий от firestarter

Ясно. С синтаксисом понятно, простая страница с картинками втянулась замечательно, спасибо! Возник следующий вопрос: Есть урл, скажем - "http://wallbase.cc/wallpaper/2900464". Там есть картинка. Она засунута на страницу через ява-скрипт. При команде «wget -E -H -k -K -p -P ~/tmp http://wallbase.cc/wallpaper/2900464" я у себя в ~/tmp наблюдаю только два хтмл-а, картинку затянуть у wget'а не получается, как я понял - из-за ява-скрипта. А в браузере по команде „Save page“ - всё пучком, и картинка сохраняется. Можно ли заставить wget (или, в более общем случае - командную строку) победить это обстоятельство.

piyavking ★★★★★
() автор топика
Ответ на: комментарий от piyavking

А в браузере по команде „Save page” - всё пучком, и картинка сохраняется.

А что за браузер? В Firefox такое не прокатывало.

С вгетом не получится, он не выполняет JS.

firestarter ★★★☆
()
Ответ на: комментарий от piyavking

С этим урл-ом - только если писать отдельный скрипт: wget-ом загрузить html, распарсить его и найти подобный кусок

document.write('<img src="'+B('aHR0cDovL25zMjIzNTA2Lm92aC5uZXQvcm96bmUvM2I5YmJiZDNlMDQ2MDQxMTJhMTNiZTFjZTA5NTM4ZDQvd2FsbHBhcGVyLTI5MDA0NjQuanBn')+'" />');
Проделать с ним те же действия, что и код:
 function B(a)
 {
   var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
   var c,d,e,f,g,h,i,j,k=0,l=0,m="",n=[];
   if(!a)
   {
     return a
   }
   a+="";
   do
   {
     f=b.indexOf(a.charAt(k++));
     g=b.indexOf(a.charAt(k++));
     h=b.indexOf(a.charAt(k++));
     i=b.indexOf(a.charAt(k++));
     j=f<<18|g<<12|h<<6|i;
     c=j>>16&255;
     d=j>>8&255;
     e=j&255;
     if(h==64)
     {
       n[l++]=String.fromCharCode(c)
     }
     else if(i==64)
     {
       n[l++]=String.fromCharCode(c,d)
     }
     else
     {
       n[l++]=String.fromCharCode(c,d,e)
     }
   }
   while(k<a.length);
   m=n.join("");
 return m}
и полученный адрес картинки опять скормить wget-у

Kuzz ★★★
()
Ответ на: комментарий от firestarter

У вас системная локаль не английская? Тогда да, этот финт - суровая необходимость.

lucentcode ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.