Cách đây vài ngày, bác Huỳnh Kỳ Anh có gửi một bài lên Freesoft ( http://viettug.org/blogs/show/322 )về việc lấy link cũng như nghe nhạc từ mp3.zing.vn. Bắt nguồn từ ý tưởng trên, tớ viết thêm và tạo thành một script để có thể tự động tải các bài hát hot trong tháng từ mp3.zing.vn với nội dung sau:
#!/bin/bash#===============================================================================
#
# FILE: getnhachotzing.sh
#
# USAGE: ./getnhachotzing.sh
#
# DESCRIPTION:
#
# OPTIONS: —
# REQUIREMENTS: —
# BUGS: —
# NOTES: —
# AUTHOR: Le Anh Tuan (tuantub@web.de),
# COMPANY:
# VERSION: 1.0.3
# CREATED: 10/03/2009 08:27:04 PM CEST
# REVISION: —
#===============================================================================month=$(date +%m)
TDIR=”$HOME/Downloads/Thang$month”
#TDIR=$HOME
TEMPF=$(mktemp)
if [ ! -f $TDIR ]
then
mkdir -p $TDIR
fi
if [ `which lynx` ]
then
lynx -dump http://mp3.zing.vn/mp3/nghe-album/album-hot/nhac-viet.html | \
sed ’s/^.*\(http.*\)/\1/g’ | \
awk -F ‘[? =]‘ ‘/\.mp3$/ {print $1,$3}’ >$TEMPF
else
wget -O – -q http://mp3.zing.vn/mp3/nghe-album/album-hot/nhac-viet.html | \
awk -F ‘[<"?= >]‘ ‘/dl.mp3/ {print $5,$7}’ >$TEMPF
fi
while read line
do
fname=$(echo $line | awk ‘{print $2}’)
if [ ! -f $TDIR/$fname ]
then
getcmd=$(echo $line | awk -v tdir=”$TDIR” ‘{printf “wget -q %s -O %s/%s”,$1,tdir,$2}’)
echo “”
echo Downloading $fname …
eval “$getcmd”
else
echo “$TDIR/$fname is already downloaded!”
fi
done <$TEMPF
rm $TEMPF
echo “”
echo ================================================
echo You can find your downloaded files now in $TDIR!
echo ================================================
echo “”
Script khi được chạy sẽ tự động tải các bài hát trong tháng của mp3.zing.vn về thư mục được chỉ định (trong script này là $HOME/Downloads/Thang$n với n là số thư tự từ 1-12), tuỳ vào người sử dụng có thể chỉnh lại để dùng.
Tạm dừng bài viết và … ngồi nghe nhạc
.
tuantub.
PS: Định dạng trong này làm méo mó script nếu copy/paste —> ai có nhu cầu có thể tải script từ:

Tháng Mười 5, 2009 lúc 5:32 chiều
Cái này có cái bất tiện là phải cài thêm lynx, thực sự có thể dùng wget để làm.
, mai sẽ up thử.
Hello sư huynh.
Tháng Mười 5, 2009 lúc 5:57 chiều
thay dòng với lynx thành :
wget -O – -q http://mp3.zing.vn/mp3/nghe-album/album-hot/nhac-viet.html | awk -F ‘[<"?= >]‘ ‘/dl.mp3/ {print $5,$7}’
cũng chạy
Tháng Mười Một 1, 2009 lúc 7:36 chiều
cho minh tham gia gia
Tháng Mười 5, 2009 lúc 7:23 chiều
Không sao, để cho mọi người thêm sự chọn lựa chứ.
Cái script này thì chỉ kị 1 cái là ubuntu không cài sẵn lynx. Với lại hình như là để luyện awk hay sao đấy.
Tháng Mười 5, 2009 lúc 8:01 chiều
Luyện gì mà luyện, awk tao chẳng bít tí gì
Tháng Mười 5, 2009 lúc 11:47 chiều
Thank tuantub
Script của bạn rất hay.
@Ghost: trong bài toán này thì lynx có thể thay thế bởi wget được. Một số hệ thống không cài cả wget và lynx.
Tháng Mười 6, 2009 lúc 2:58 sáng
@Bác Kỳ Anh:
.
Nhiều khả năng để người dùng lựa chọn cũng vui mà bác, mình có thêm cái để trao đổi
Tháng Mười 6, 2009 lúc 9:03 sáng
http://www.theghostnt.co.cc/2009/10/06/t%E1%BA%A3i-nh%E1%BA%A1c-hot-t%E1%BB%AB-zing-mp3/
Xem đỡ trong đây nhá mọi người, không quen với định dạng code trong blog này.