Monday, November 29, 2010

വമ്പൻ ഫയലുകൾ ഡൌൺലോഡ് ചെയ്യാന് wget

സാധാരണ വെബ് കണക്ഷന് ഉപയോഗിച്ചു് http വഴി വളരെ വലിയ ഫയലുകള് ഡൌൺ‌ലോഡ് ചെയ്യാന് ഉപയോഗിക്കാവുന്ന കമാൻഡ് ലൈൻ യൂട്ടിലിറ്റിയാണു്, wget . സംഗതി ഗ്നൂ നേറ്റീവ് ആപ്ലിക്കേഷനാണെങ്കിലും വിൻഡോസിലേക്കു് പോർട്ട് ചെയ്തിട്ടുണ്ടു്.

വിൻഡോസില് wget ഉപയോഗിക്കേണ്ട വിധം

ആപ്ലിക്കേഷന് ഇവിടെ നിന്നു് ഡൌൺ‌ലോഡ് ചെയ്യുക.

കൺസോളിൽ ഏതു് ഡയറക്ടറിയില് നിന്നും wget ഓപ്പറേറ്റ് ചെയ്യേണ്ടതിനു് വേണ്ട കാര്യങ്ങളാണു് ഇനി ചെയ്യേണ്ടതു്. ഇതിനായി സ്റ്റാർട്ട് മെനു പ്രോഗ്രാംസില് നിന്നു് Run എടുത്തു് cmd എന്നു് ടൈപ്പു ചെയ്യുക. (വിന്ഡോസ് വിസ്റ്റയാണു് ഉപയോഗിക്കുന്നതെങ്കില് All Programs > Accessories > Command Prompt എന്ന രീതിയില് GUIലൂടെ കമാന്ഡ് പ്രോംപ്റ്റിലേക്കു് പോകാം.) അപ്പോൾ ലഭിക്കുന്ന ഡോസ് കമാന്ഡ് പ്രോംപ്റ്റില് path എന്നു് ടൈപ്പ് ചെയ്യുക. തൂടർന്ന് നിങ്ങളുടെ ആപ്ലിക്കേഷന് ഇൻസ്റ്റാൾ ചെയ്യാവുന്ന ഒന്നിലധികം ലൊക്കേഷനുകളുടെ ലിസ്റ്റ് ലഭിക്കും. അവ തമ്മില് സെമികോളന് ഉപയോഗിച്ചു് സെപ്പറേറ്റ് ചെയ്തിരിക്കും. അവയിലേതെങ്കിലും ഒരു ലൊക്കേഷനിലേക്കു് (ഉദാ: C:\WINDOWS\System32) നേരത്തെ ഡൌൺ‌ലോഡ് ചെയ്ത .exe ഫയല് കോപ്പി ചെയ്യുക. അതിനു ശേഷം കമാൻഡ് പ്രോംപ്റ്റ് അടച്ചതിനു് ശേഷം വീണ്ടും തുറക്കുക (അതായതു് Start menu> Run > cmd).

കമാൻഡ് പ്രോംപ്റ്റിൽ wget -h എന്നു് ടൈപ്പ് ചെയ്തു നോക്കുക. ആപ്ലിക്കേഷൻ ശരിയായ വിധം പ്രവർത്തിക്കുന്നുവെങ്കിൽ ഒരു നീണ്ട ഹെല്പ് ഫയല് കമാൻഡ് പ്രോംപ്റ്റില് വരും. ഹെല്പ് ഫയല് വായിക്കാന് വേണ്ടിയൊന്നുമല്ല, ഇങ്ങനെ ചെയ്യാന് പറഞ്ഞതു്. ആപ്ലിക്കേഷന്റെ ഇൻസ്റ്റലേഷൻ ശരിയായോ എന്നു് പരിശോധിക്കാൻ വേണ്ടി മാത്രം.
 
ഇനി നിങ്ങൾക്ക് ആവശ്യമായ ഫയല് ഡൌൺലോഡ് ചെയ്യാൻ ഒരു ലൊക്കേഷന് നിശ്ചയിക്കുക. അതു് ഏതുമാകാം. ഉദാഹരണത്തിനു് കമ്പ്യൂട്ടറിന്റെ E:\ ഡ്രൈവില് downloads എന്ന ഫോൾഡറിലേക്കാണു് നിങ്ങൾക്ക് ഫയലുകൾ ഡൌൺലോഡ് ചെയ്യേണ്ടതെന്നിരിക്കട്ടെ. കമാന്റ് പ്രോംപ്റ്റില് നിന്നുകൊണ്ടു് അവിടേക്കു് പോവുക. ഇതു് എങ്ങനെ സാധിക്കുമെന്നു് നോക്കാം.

start menu > Run > cmd എടുക്കുമ്പോൾ സാധാരണഗതിയിൽ നിങ്ങൾ നില്ക്കുന്നതു് C:\ Documents and Settings \username> എന്നിടത്താവും. ഇവിടെ നിന്നു് E: എന്നു് ടൈപ്പ് ചെയ്യുക. ഇപ്പോൾ E:\ പാർട്ടീഷന്റെ റൂട്ടിൽ നിങ്ങളെത്തി. അവിടെ നിന്നു് cd downloads എന്നു് ടൈപ്പ് ചെയ്താല് E:\downloads> എന്ന സ്ഥലത്തേക്കു് മാറാം. ഇവിടെ നിന്നു് wget ന്റെ കമാന്റ് ഏതു വേണമെങ്കിലും ഉപയോഗിക്കുക. 

wget എന്നതാണു് നല്കേണ്ട കമാന്ഡിന്റെ രീതി. options ഒന്നും കൊടുത്തില്ലെങ്കില് ഡീഫോൾട് ഒപ്ഷൻസ് എടുക്കും. എന്തൊക്കെ ഓപ്ഷനുകളുണ്ടെന്നറിയാന് wgetന്റെ man പേജോ ഹെല്പോ നോക്കുക. അത്യാവശ്യം വേണ്ട ചില ഓപ്ഷനുകള് പറയാം. 
ഉദാഹരണത്തിനു ആർക്ക് ലിനക്സ് അടിസ്ഥാനമാക്കിയുള്ള പുതിയ ഡിസ്ട്രോലെറ്റ് ആയ ചക്രയുടെ 64 ബിറ്റ് സിസ്റ്റങ്ങൾക്കായുള്ളആൽ‌ഫ 3 പ്രീ റിലീസ് ലൈവ് ഡിവിഡി വേണമെന്നു് കരുതുക. പ്രീ റിലീസ് ആയതിനാൽ ടോറന്റ് ലഭ്യമല്ല. http വഴിയുള്ള ഡൌൺലോഡ് മാത്രമേ നടക്കൂ. ഇമേജിന്റെ സൈസ് 1.4 ജിബിയാണു്. വിൻഡോസ് അധിഷ്ഠിത സിസ്റ്റം മാത്രമേ തത്ക്കാലം നിങ്ങൾക്കുള്ളു ലഭ്യമായ ബ്രോഡ് ബാന്ഡ് കണക്ഷനിലാവട്ടെ, ശരാശരി 30 KB/s ഡൌണ്ലോഡ് വേഗതയേ ലഭിക്കുന്നുമുള്ളൂ. ഡൌൺലോഡ് ലിങ്കിൽ മൌസ് അമർത്തി . E:\downloads> എന്ന ലൊക്കേഷനിലേക്കു് ഫയൽ ഡൌൺലോഡ് ചെയ്യാൻ ബ്രൌസറിനെ സെറ്റ് ചെയ്തു. ഡൌൺലോഡ് 70% ആയപ്പോഴെക്കും കണക്ഷൻ പോയി, അല്ലെങ്കില് കറണ്ട് പോയി. യുപിഎസ് പ്രവര്ത്തിക്കുന്നില്ല. എന്തു ചെയ്യും? 

ഇതു് വളരെ വലിയ ഫയലാണു്. http വഴിയുള്ള ഡൌൺലോഡ് ഇടയ്ക്കു് ബ്രേക്ക് ആയാൽ സാധാരണഗതിയിൽ ആദ്യം മുതല് റീ ഡൌൺലോഡ് ചെയ്താലേ മതിയാകൂ. ഇവിടെ wget രക്ഷയ്ക്കെത്തും. 
ഡൌൺലോഡ് ചെയ്യേണ്ട ഫയല് ഹോസ്റ്റ് ചെയ്തിരിക്കുന്ന കൃത്യമായ വിലാസം അറിയണമെന്നു് മാത്രം.
 
 
 
 
 
ഇതിനു് ഫയർ ഫോക്സ് ആണുപയോഗിക്കുന്നതെങ്കില് കണക്ഷൻ വീണ്ടും ശരിയായതിന് ശേഷം സൈറ്റിലെ ഡൌൺലോഡ് ലിങ്കില് റൈറ്റ് ക്ലിക്ക് ചെയ്ത് copy Link location എന്ന ഓപ്ഷന് തിരഞ്ഞെടുക്കുക. എന്നിട്ടു് കമാന്ഡ് പ്രോംപ്റ്റില് മുമ്പുപറഞ്ഞ E:\Downloads> എന്നയിടത്തു നിന്നു് wget -c എന്നു് ടൈപ്പ് ചെയ്ത ശേഷം മൌസ് ഉപയോഗിച്ചു് പ്രസ്തുത ഫയലിന്റെ യുആര്എല് പേസ്റ്റ് ചെയ്യുക.
[code]
wget -c http://chakra-project.org/temp/prerelease/chakra-x86_64-090817.iso
[/code]

ഇപ്പോൾ  നേരത്തെ നടന്ന ഡൌൺലോഡ് നിന്നു് പോയ സ്ഥലത്തു നിന്നു്, അതായതു് 70%ല് നിന്നു് 
ഡൌൺലോഡ് തുടരാം. -c എന്നതിനു് പകരം --continue എന്നു നല്കിയാലും മതിയാകും. ഭാഗികമായി ഡൌൺലോഡ് ചെയ്ത ഫയലുകളുടെ മിച്ചമുള്ള ഭാഗം മാത്രമായി ഡൌൺലോഡ് ചെയ്യാനാണു് ഈ ഓപ്ഷൻ ഉപയോഗിക്കുന്നതു്. ആദ്യം മുതൽ തന്നെ ഡൌണ്ലോഡ് ചെയ്യാനാണെങ്കില് wget എന്നതിനു് ശേഷം ഫയലിന്റെ ലൊക്കേഷന് നല്കിയാൽ മതിയാകും.

നിങ്ങൾക്ക് വേഡ്പ്രസില് ഹോസ്റ്റ് ചെയ്ത ഒരു ബ്ലോഗ് ഉണ്ടെന്നു് കരുതുക. അതിലെ കണ്ടന്റ് ലോക്കലായി ബാക്ക് അപ് ചെയ്യണം. ഇങ്ങനെ ചെയ്യാത്ത പക്ഷം സൈറ്റിനെന്തെങ്കിലും സംഭവിച്ചാൽ കണ്ടന്റ് നഷ്ടമാവും. ഇതിനെന്താണു് ചെയ്യാന് കഴിയുക?
[code]
wget -r http://mypersonalwebsite.com 
[/code]

എന്ന കമാൻഡ് നല്കിയാല് http://mypersonalwebsite.com എന്ന സൈറ്റിലെ എല്ലാ ഡയറക്ടറികളും ചിത്രങ്ങളും അടക്കം recursive ആയി കമാന്ഡ് പ്രോംപ്റ്റില് നിങ്ങള് നില്ക്കുന്ന ലൊക്കേഷനിലേക്കു് ഡൌണ്ലോഡ് ചെയ്യപ്പെടും. എന്നാല് വെബ് സൈറ്റ് ഇങ്ങനെ ഡൌണ്ലോഡ് ചെയ്യുമ്പോള് ഒരു കുഴപ്പമുണ്ടു്. അതിലുള്ള ഇന്റേണല് ലിങ്കുകളും മറ്റും യൂണിവേഴ്സല് ആവും. അതായതു്, അവ ആക്സസ് ചെയ്യാന് വെബ്ബില് പോവും. അങ്ങനെ സംഭവിക്കാതെ അവ ലോക്കലായി തന്നെ കണ്വേര്ട്ട് ചെയ്തുകിട്ടണം എങ്കില് മുന് കമാന്റിൽ ഒരു ആർഗ്യുമെന്റ് (ഓപ്ഷന്) കൂടി ചേർക്കാം. അപ്പോൾ ലിങ്കുകൾ റിലേറ്റീവ് ആയി മാറും.
[code]
wget --convert-links -r http://www.mypersonalwebsite.com
[/code]

ഇതു് wget -k -r http://www.mypersonalwebsite.com എന്നു് ചുരുക്കി നല്കാം.

ഇനി സൈറ്റ് മിറർ ചെയ്യുകയും ഫയലുകള് .html ആയി സേവ് ചെയ്യുകയും വേണമെന്നു് കരുതുക. കമാന്ഡ് ഇങ്ങനെയാവാം:
[code]
wget --html-extension -r http://www.mypersonalwebsite.com
[/code]

ഇതു്
wget -E -r http://www.mypersonalwebsite.com എന്നു് കൊടുത്താലും മതിയാകും. ഋണചിഹ്നത്തിനു് ശേഷം ഓപ്ഷനുകളുടെ ഷോര്ട്ട് കമാന്ഡുകള് അടുക്കടുക്കായി പറയാം. 

വെബ് സൈറ്റ് മൊത്തത്തില് ഡൌണ്ലോഡ് ചെയ്യാന് wget ഉപയോഗിക്കുമ്പോള് ഒരു പ്രശ്നമുണ്ടു്. ചില ഹോസ്റ്റിങ് പ്രൊവൈഡര്മാര് ബാന്ഡ് വിഡ്ത്ത് ലാഭിക്കാനായി wgetന്റെ ഉപയോഗം തടസ്സപ്പെടുത്തും. അങ്ങനെയെങ്കില് എന്തു ചെയ്യാനാവും? wget അല്ല, ഗൂഗിള് ബോട്ടാണു് ഇതു് ചെയ്യുന്നതെന്നു് ഹോസ്റ്റ് മെഷീനെ കബളിപ്പിക്കുകയേ വേണ്ടൂ. യൂസര് ഏജന്റിനെ ചെയ്ഞ്ച് ചെയ്യുകയാണു് അതിനുള്ള വഴി. അതിനാവശ്യമായ കമാന്ഡാണു് ചുവടെ:
wget --user-agent="Googlebot/2.1 (+http://www.googlebot.com/bot.html)" -r http://www.mypersonalwebsite.com

സൈറ്റ് 
ഡൌൺലോഡ് ചെയ്യുമ്പോൾ സാധാരണയായി നല്കാറുള്ള ആർഗ്യുമെന്റുകളാണു താഴെ കൊടുക്കുന്നത്
-r (--recursive), -N (--timestamping)
-l inf (to set maximum recursion depth to infinite)
-nr (--no-remove-listing) എന്നിവ.
ഇത്രയും ഓപ്ഷനുകൾ പൊതുവായി ലഭിക്കുന്ന ആര്ഗുമെന്റാണു് -m അഥവാ --mirror. അതിനോടൊപ്പം -p അഥവ --page-requisites എന്നുകൂടി ചേർത്താൽ ഒരു എച്ച്ടിഎംഎല് പേജ് ശരിയായി ലോഡ് ചെയ്യാന് ആവശ്യമായ ഇതര ഫയലുകള് കൂടി ഡൌൺലോഡ് ചെയ്യും. ഇതു് ഇൻലൈൻ ഇമേജുകളും ശബ്ദങ്ങളും റെഫർ ചെയ്തിരിക്കുന്ന സ്റ്റൈല് ഷീറ്റുകളും ഉൾപ്പെടും . അതായതു്, പ്രസ്തുത സൈറ്റിനു് പുറത്തുള്ള ഒരു ഫയൽ കൂടി ആവശ്യമെങ്കിൽ ഏതു് ഡെപ്ത്ത് വരെയും ചെന്നു് റിക്കേർസിവ് ആയി ഡൌൺലോഡ് ചെയ്യും.

wget -E -H -k -K -p http:/// എന്നതു് ഒരു വെബ് സൈറ്റിലെ ഏതെങ്കിലും ഒരു പേജ് അതിന്റെ റിക്വസിറ്റ്സ് അടക്കം ചെയ്യാനുള്ള മികച്ച ഒരു ആർഗ്യുമെന്റ് സെറ്റിങ്ങ് ആണു്. -H അഥവാ --span-hosts എന്ന ഓപ്ഷന് ഉപയോഗിച്ചാല് റിക്കേർസീവ് 
ഡൌൺലോഡിനായി ഫോറിൻ ഹോസ്റ്റുകളില്ൽ നിന്നും ഫയലുകള് സ്വീകരിക്കും. ഡൌൺലോഡ് ചെയ്യുമ്പോൾ ലിങ്കുകളുടെ റിലേറ്റീവ് പാത്ത് ലോക്കലായി സെറ്റ് ചെയ്യാനാണു് -k എന്നു് നേരത്തെ പറഞ്ഞിരുന്നു. അതിനൊപ്പം -K എന്നോ --backup-converted എന്നോ കൂടി ചേർക്കുമ്പോൾ ഒറിജിനൽ ലിങ്കുകൾ (യൂണിവേഴ്സല് വെബ് ലിങ്കുകൾ ) .orig എന്ന എക്സ്റ്റന്ഷോടെ സേവ് ചെയ്തു സൂക്ഷിക്കും.

wget ന്റെ ഓപ്ഷനുകള് case senstitive ആണു്. ഉദാഹരണത്തിനു് -e നല്കുന്ന അര്ത്ഥവും -E നല്കുന്ന അര്ത്ഥവും രണ്ടാണു്. ആവശ്യം വരാവുന്ന ഒട്ടുമിക്ക ഓപ്ഷനുകളും പഠിക്കാന് http://www.computerhope.com/unix/wget.htm എന്ന പേജ് സന്ദർശിക്കുക . കമാൻഡ് ലൈനിൽ നിന്നു് wget -h എന്നു് ടൈപ്പ് ചെയ്താലും ഓപ്ഷനുകള് പരിചയപ്പെടാന് സാധിക്കും.
 
 
ഇനി ഡൌണ്‍ലോഡ് നടന്നുകൊണ്ടിരിക്കെ നിങ്ങള്‍ക്കു് കമ്പ്യൂട്ടര്‍ അടച്ചു് എവിടെയെങ്കിലും പോകണം. അതിനെന്താ വഴി? അതായതു് പിന്നീടു് വന്നു് ഡൌണ്‍ലോഡ് തുടരാന്‍ പാകത്തിനു് പ്രശ്നമില്ലാതെ കമാന്‍ഡ് പ്രോംപ്റ്റില്‍ നിന്നു് എസ്കേപ്പ് ചെയ്യാന്‍ എന്താണു് മാര്‍ഗ്ഗം? ലളിതം - വെറുതെ കണ്‍ട്രോള്‍ കീയും സി എന്ന അക്ഷരവും (Ctrl+C) ഒരുമിച്ചമര്‍ത്തുക. അത്രതന്നെ. ഡൌണ്‍ലോഡ് അവിടെ കട്ടാകും. പിന്നീടു് നിങ്ങള്‍ക്കു് സൌകര്യമുള്ള സമയത്തു് ഡൌണ്‍ലോഡ് തുടരാം.                                                           

0 അഭിപ്രായ(ങ്ങള്‍) :

Post a Comment