woim.net.rb¶
- woim.net.rb
- Cài đặt
- Phụ thuộc
- Tải về
- Sử dụng
- Tin tức quan trọng
- Cache
- Tham số
- Sử dụng kết quả
- Proxy
- Thảo luận
woim.net.rb là kịch bản dùng để tải về danh sách tập tin .mp3 của một album bất kỳ từ trang web http://woim.net/. Kịch bản do Kỳ Anh viết, được công bố theo giấy phép GPL phiên bản 2.
Cài đặt¶
Phụ thuộc¶
Kịch bản được viết bằng ngôn ngữ Ruby và sử dụng Curb. Trên hệ thống của bạn phải có
- Ruby 1.8 (cài đặt thông qua chương trình quản lý gói của hệ thống)
- Ruby gems (cài đặt thông qua chương trình quản lý gói của hệ thống)
Curb(cài đặt bằng lệnhgem install curbtừ tài khoản quản trị hệ thống)- Nếu dùng
Ubuntu, trước khi càicurb, bạn phải cài thêm hai gói sau:ruby1.8-devvàlibcurl4-openssl-dev(Thanks to Phú.)
- Nếu dùng
Tải về¶
Sau đó, bạn phải tải về woim.net.rb
Sau khi đổi quyền 700 cho kịch bản này (chmod 700 woim.net.rb), kịch bản này cần nằm trong thư mục chứa các tập tin thi hành được, ví dụ /usr/local/bin hoặc thư mục bin bên trong $HOME. Bạn cũng có thể ra đường dẫn tuyệt đối khi thi hành kịch bản, ví dụ /home/abc/script/woim.net.rb.
Sử dụng¶
Tin tức quan trọng¶
- (blog) woim.net: mã hóa chuỗi địa chỉ URL (2010/06/16)
- (blog) woim.net: đổi nơi lưu trữ tập tin mp3 (2010/04/09)
- (blog) tải nhạc ở woim.net (tin đầu tiên)
- (blog) woim.net: i'm your killer! (tuyên chiến)
Cache¶
Kịch bản sẽ sử dụng thư mục ./cache trong thư mục hiện hành để tạo bộ đệm. Do đó, công việc bắt buộc và đầu tiên là bạn phải tạo ra thư mục này, như ví dụ dưới đây
$ mkdir -pv ~/woim/cache && cd ~/woim
Khi đó, các thông tin đệm và danh sách bài hát sẽ được lưu trong ~/woim. Riêng các bộ đệm có trong ~/woim/cache.
Xin nhắc lại, bộ đệm ./cache là bắt buộc và bạn phải có quyền ghi vào thư mục đó.
Tham số¶
Bạn cần biết chỉ số của album hoặc bài nhạc ở trang http://woim.net/. Ví dụ
- Bài "Afterlife Love" có liên kết http://www.woim.net/song/36744/afterlife-love.html, thì chỉ số của bài đó là 36744
- Bài trên thuộc tuyển tập “New Element Of Hi-Fi” có liên kết http://www.woim.net/album/3029/new-element-of-hifi.html, chỉ số của tuyển tập là 3029
Bây giờ, bạn có thể chỉ ra
$ woim.net.rb song/36744 # lấy liên kết tới tập tin .mp3 tương ứng với bài nhạc $ woim.net.rb album/3029 # lấy mọi liên kết tới các bài trong tuyển tập
Bạn cũng có thể chỉ ra rất nhiều bài và tuyển tập khác nhau
$ woim.net.rb song/1 song/2 album/12 album/123
Và thậm chí dùng nguyên địa chỉ chép từ trình duyệt
$ woim.net.rb http://www.woim.net/album/3029/new-element-of-hifi.html
Sử dụng kết quả¶
Kết quả của kịch bản có thể làm bạn rối mắt. Do đó, bạn phải có cách sử dụng chúng. Thông thường, có thể thực hiện như sau
- Chạy kịch bản lần đầu, giống như các ví dụ ở trên để chắc rằng có thu được kết quả. Nên thực hiện bước đầu (thô) này, vì trang wet http://woim.net/ rất hay "chết yểu", nên bạn phải thực hiện “chạy thô” để kiểm tra và xử lý các tình huống lỗi (nếu có).
- Sau đó, chạy kịch bản lần thứ hai (với cùng tham số). Do hệ thống đệm nên lần này sẽ rất nhanh, trừ khi ở bước đầu tiên không thu được kết quả nào. Trong bước thứ hai này, bạn sẽ thực hiện lọc và sử dụng kết quả.
Dưới đây là ví dụ
$ woim.net.rb album/3029 # lần đầu thi hành :: fetching http://www.woim.net/album/3029/index.html :: album found New Element Of Hi-Fi (performed by Various Artists) :: 12 song(s) found :: fetching http://www.woim.net/song/36743/index.html :: fetching http://www.woim.net/music/2/36743/nX8sEa/825f26d32aa9b8b131acbaa9fbcfa842/f :: cache updated: song_36743 ... $ woim.net.rb album/3029 | grep ^http:// # lần thứ hai http://media2.woim.info/data/truonghero/Various_Atists/NewElementOfHi-FiI/01-shallot-434697-www.woim.net.mp3 http://media2.woim.info/data/truonghero/Various_Atists/NewElementOfHi-FiI/02-afterlife-love-318075-www.woim.net.mp3 http://media2.woim.info/data/truonghero/Various_Atists/NewElementOfHi-FiI/03-sky-450892-www.woim.net.mp3 ...
Kết quả ở trên có thể sử dụng để tải về các tập tin mp3, hoặc nghe trực tiếp với mplayer
$ woim.net.rb album/3029 | grep ^http:// | mplayer -playlist -
Hoặc theo cách hay hơn
$ woim.net.rb album/3029 | grep ^http:// > 3029.m3u $ mplayer -playlist 3029.m3u
Proxy¶
Nếu lấy nội dung qua một proxy, bạn có thể chỉ định bằng proxy= như sau
$ woim.net.rb proxy=servername.com:3128 # sử dụng proxy servername.com, cổng 3128
Thảo luận¶
Các bản nhạc không lời được công bố tại trang http://woim.net/ là sản phẩm tinh thần và vật chất của các nghệ sĩ và nhà sản xuất âm nhạc. Tôi không rõ tác giả của http://woim.net/ đã giải quyết vấn đề bản quyền của những tác phẩm này như thế nào. Theo quan điểm của tôi, việc công bố và chia sẻ theo cách mà http://woim.net/ là vi phạm bản quyền.
Theo các ghi chú ở http://www.woim.net/forums/viewtopic.php?t=102, trang http://woim.net/ sử dụng tiền của các thành viên đóng góp vào mục đích xây dựng máy chủ phục vụ cho việc lưu trữ và chia sẻ các bản nhạc không lời. Tuy nhiên, điều này hoàn tòan trái ngược với ý nghĩa của Donation (xem http://en.wikipedia.org/wiki/Donation) thông thường. Việc donation chỉ hợp lý khi các thành viên của woim.net chia sẻ các sản phẩm do chính bản thân họ tạo ra, hoặc số tiền thu được sẽ được dùng để trả các tác giả gốc.
Sau khi tham khảo các ghi chú của http://www.woim.net/forums/viewtopic.php?t=102, tôi thấy mình hoàn toàn có thể công bố công cộng kịch bản của mình.
- Kịch bản được dùng tham khảo cho các bạn đang học Ruby.
- Việc sử dụng kịch bản là quyền của bạn, vì theo khẳng định tại http://woim.net/, luôn có công cụ làm những công việc tương tự.
- Tôi không có ý phá hoại trang web http://woim.net/.
Xin nhắc lại, việc sử dụng các bản nhạc mà không trả phí (trực tiếp hay gián tiếp) cho chính tác giả của bản nhạc là vi phạm bản quyền.
Các ý kiến đóng góp, bình luận của các bạn rất được hoan nghênh. Vui lòng liên hệ bằng cách đặt vấn đề mới tại dự án này.