Udacity Downloader in Bash

October 5 2016

ဘာရယ်တော့မဟုတ်ပါဘူး Udacity က Course တချို့ကို လေ့လာရင်း စိတ်ကူးပေါက်လို့ရေးထားတာပါ။ အမှန်တော့ Python နဲ့ရေးထားတဲ့ udacity-dl ရှိပြီးသားပါ။ သို့ပေမယ့် သုံးနေတဲ့စက်မှာ အဆင်မပြေဖြစ်နေတာနဲ့ Bash နဲ့ ပြန်ရေးကြည့်ဖြစ်သွားတာပါ။ အပြည့်အဝအသုံးချနိုင်တယ်ရယ်တော့မဟုတ်ပါဘူး။ Bash Scripting ကို စိတ်ဝင်စားသူတွေ၊ လေ့လာနေသူတွေအတွက် အထောက်အကူပြုလိုပြုငြား မျှဝေခြင်းသက်သက်သာဖြစ်ပါတယ်။

Download ရယူနိုင်တဲ့ Course တွေကိုတော့ https://www.udacity.com/wiki/downloads မှာကြည့်နိုင်ပါတယ်။ Course တိုင်းတော့ မဟုတ်ပါဘူး။ Course Material တွေကို zip ဖိုင်အနေနဲ့ ပြုလုပ်ပြီး တင်ပေးထားတဲ့ Course တွေအတွက်ပဲသုံးနိုင်တာပါ။ အသုံးများတဲ့အတွက် Server က Bot လို့သတ်မှတ်ပြီး Download ပိတ်ထားတာမျိုးလည်းကြုံနိုင်ပါတယ်။

Installer package အနေနဲ့ Github မှာ တင်ပေးထားပြီး အသုံးပြုပုံကိုတော့ README မှာရေးပေးထားပါတယ်။

#!/bin/bash

dlist=(`curl -s -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:40.0) Gecko/20100101 Firefox/40.0' "https://www.udacity.com/wiki/$1/downloads" | sed -n 's/.*href="\([^"]*\).*/\1/p' | grep zip`)

for i in ${dlist[@]};
do
	if [ -f "${i##*$1/}" ]; then
		echo "${i##*$1/} : Resuming Download..."
		curl -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:40.0) Gecko/20100101 Firefox/40.0' -L -o "${i##*$1/}" -C - "$i"
	else
		echo "Downloading ${i##*$1/}"
		curl -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:40.0) Gecko/20100101 Firefox/40.0' -o "${i##*$1/}" "$i"
	fi
done

comments powered by Disqus