Cũng khá nhiều bạn hỏi tôi cách download nhạc và cách viết chương trình lấy link nhạc tự động (giống như site http://www.guru.net.vn/media.aspx). Ngay từ đầu tôi không có ý định dấu code cũng như cách lấy link nhạc vì thực ra không có gì cao siêu cả hơn nữa các chương trình tôi đã viết là viết cho bạn bè. Tuy nhiên, do tôi cũng hơi bận lại lười viết lên chưa có thời gian tổng hợp tất cảc các kiến thức cần thiết để viết thành một bài viết khái quát để các bạn có thể nắm bắt được hết cũng như tự viết các chương trình nhỏ nhỏ cho mình. Hơn nữa, các site nhạc cũng hay cập nhật nên tôi nghĩ để các bạn có thể tự cập nhật cho mình.
Mục tiêu của bài viết này là giới thiệu với các bạn cách các trang nhạc Việt Nam lập trình, điểm yếu của nó nếu lấy quan điểm dựa trên link nhạc là một dữ liệu quan trọng của site nhạc. Tiếp theo là làm sao viết được robot lấy link nhạc (viết bằng C#). Và cuối cũng là làm sao khắc phục các điểm yếu đó.
Phần 1 : link trực tiếp
* Kiến thức yêu cầu : hiểu HTML
* Công cụ : trình duyệt IE, Firefox (có thêm các add-on cho Firefox càng tốt)
* Cách thức : sử dụng view-source (tham khảo bài sử dụng view source)
Ví dụ cần lấy link bài hát trong trang : (bài Bonjour Vietnam)
http://guru.net.vn/PermaLink.aspx?guid=d4606c16-ebba-4675-a2a2-7791903e17ab
Bạn view-source và tìm thấy đoạn sau :
<embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/" name="TSplay" src="http://209.172.53.99/%7Ethehien/Bonjour%20VietNam%20-%20Pham%20Quynh%20Anh.mp3" showcontrols="1" enablecontextmenu="1" showdisplay="0" showstatusbar="0" autostart="true" volume="100" loop="true"><font face="Arial" size="2"><br>Trình bày: <b><a href="http://209.172.53.99/%7Ethehien/Bonjour%20VietNam%20-%20Pham%20Quynh%20Anh.mp3">Phạm Quỳnh Anh</a></b></font><br></embed>
<embed type="application/x-mplayer2"
pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/" name="TSplay"
src="http://209.172.53.99/%7Ethehien/Bonjour%20VietNam%20-%20Pham%20Quynh%20Anh.mp3"
showcontrols="1" enablecontextmenu="1" showdisplay="0" showstatusbar="0" autostart="true" volume="100" loop="true"><font face="Arial" size="2"><br>Trình bày: <b><a href="http://209.172.53.99/%7Ethehien/Bonjour%20VietNam%20-%20Pham%20Quynh%20Anh.mp3">Phạm Quỳnh Anh</a></b></font><br></embed>
Như ở trên bạn đã nhìn thấy rõ địa chỉ thật của bài hát rồi phải không ? Đây là cách làm đơn giản nhất và link không hề bị dấu. Bạn có thể lấy 1 cách dễ dàng.
Một trường hợp tương tự là :
<object width="100%" height="300" viewastext="" type="application/x-oleobject" standby="Loading Microsoft Windows Media Player components..." codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95"> <param value="mms://210.245.24.10/Music/NhacTre/ThuMinh_TheBestOfThuMinh/wma32/Anh_Sang_Doi_Toi___Thu_Minh___Minh_Chau___cph___02.wma" name="FileName"/><param value="false" name="TransparentAtStart"/><param value="true" name="AutoStart"/><param value="false" name="AnimationatStart"/><param value="false" name="ShowControls"/><param value="false" name="ShowDisplay"/><param value="999" name="playCount"/><param value="0" name="displaySize"/><param value="100" name="Volume"/><embed width="100%" height="300" displaysize="0" volume="100 animationAtStart=0" playcount="999" autostart="1" transparentatstart="0" name="MediaPlayer" src="mms://210.245.24.10/Music/NhacTre/ThuMinh_TheBestOfThuMinh/wma32/Anh_Sang_Doi_Toi___Thu_Minh___Minh_Chau___cph___02.wma" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" type="application/x-mplayer2"/></object>
<object width="100%" height="300" viewastext="" type="application/x-oleobject"
standby="Loading Microsoft Windows Media Player components..."
codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715"
classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95"> <param value="mms://210.245.24.10/Music/NhacTre/ThuMinh_TheBestOfThuMinh/wma32/Anh_Sang_Doi_Toi___Thu_Minh___Minh_Chau___cph___02.wma" name="FileName"/><param value="false" name="TransparentAtStart"/><param value="true" name="AutoStart"/><param value="false" name="AnimationatStart"/><param value="false" name="ShowControls"/><param value="false" name="ShowDisplay"/><param value="999" name="playCount"/><param value="0" name="displaySize"/><param value="100" name="Volume"/><embed width="100%" height="300" displaysize="0" volume="100 animationAtStart=0"
playcount="999" autostart="1" transparentatstart="0" name="MediaPlayer"
src="mms://210.245.24.10/Music/NhacTre/ThuMinh_TheBestOfThuMinh/wma32/Anh_Sang_Doi_Toi___Thu_Minh___Minh_Chau___cph___02.wma"
pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" type="application/x-mplayer2"/></object>
Trường hợp này bạn cũng sẽ dễ dàng nhìn thấy link nhạc trong tham số FileName :
<param value="mms://210.245.24.10/Music/NhacTre/ThuMinh_TheBestOfThuMinh/wma32/Anh_Sang_Doi_Toi___Thu_Minh___Minh_Chau___cph___02.wma" name="FileName"/>
<param
value="mms://210.245.24.10/Music/NhacTre/ThuMinh_TheBestOfThuMinh/wma32/Anh_Sang_Doi_Toi___Thu_Minh___Minh_Chau___cph___02.wma"
name="FileName"/>
Hoặc đơn giản hơn nữa : (trang http://gmetal.net)
<embed width="100%" height="300" src="http://huyremy.net/request/iwannagrowoldwithyou.wma" autostart="true"/>
Nhận xét : như cách trên là trang không có ý định dấu linh và dễ dàng lấy được link và viết robot lấy link.
Phần 2 sẽ là : mã hóa link nhạc phía client (điển hình nhacso.net)