Minggu, Februari 27, 2011

Cara mudah mendownload banyak file dengan nama berpola tertentu

Salah satu alasan mengapa orang mudah untuk kecanduan internet adalah karena banyak hal-hal menarik yang dapat ditemukan secara gratis. Misalnya buku (e-book), lagu, gambar, video dan masih banyak lagi yang lain. Semua orang yang mengakses internet pasti pernah melakukan download. Cara yang paling mudah adalah dengan melakukan klik kanan pada link yang akan didownload lalu pilih save as dan selesai. Alternatif lain adalah dengan menggunakan software khusus seperti download manager. Untuk download file-file yang berukuran sangat besar sering kali digunakan Bit Torrent client.
Cara download pertama yang dijelaskan (click kanan) sudah cukup untuk melakukan download file ukuran kecil- sedang. Akan tetapi cara ini akan merepotkan jika harus mendownload banyak file karena harus melakukan klik pada setiap file yang akan didownload.

Salah satu fungsi yang sangat bermanfaat untuk melakukan download dari terminal adalah WGET
untuk mendownload file pada http://www.islamhouse.com/d/files/ar/ih_quran/Sala7_Al_Hashem/Sala7_Al_Hashem_031.mp3 dapat dilakukan dengan mengetik

wget http://www.islamhouse.com/d/files/ar/ih_quran/Sala7_Al_Hashem/Sala7_Al_Hashem_031.mp3

Akhir-akhir ini saya sering melakukan download file-file yang memiliki nama-nama file dengan pola tertentu (seperti pada link di atas). Pola yang paling umum adalah dengan menambahkan nomor pada nama file, misalnya file1.mp3, file2.mp3, file3.mp3 dst...
Hal pertama yang saya pikirkan pada saat melihat pola seperti itu adalah melakukan otomatisasi dengan loop. Artinya saya menginginkan perintah WGET dilakukan berulang-ulang untuk mendownload file-file yang namanya memiliki pola. Misalnya saya ingin mendownload file-file berikut

wget http://www.islamhouse.com/d/files/ar/ih_quran/Sala7_Al_Hashem/Sala7_Al_Hashem_100.mp3
wget http://www.islamhouse.com/d/files/ar/ih_quran/Sala7_Al_Hashem/Sala7_Al_Hashem_101.mp3
wget http://www.islamhouse.com/d/files/ar/ih_quran/Sala7_Al_Hashem/Sala7_Al_Hashem_102.mp3
wget http://www.islamhouse.com/d/files/ar/ih_quran/Sala7_Al_Hashem/Sala7_Al_Hashem_103.mp3
wget http://www.islamhouse.com/d/files/ar/ih_quran/Sala7_Al_Hashem/Sala7_Al_Hashem_104.mp3


Salah satu teknik yang saya gunakan adalah dengan membuat bash script. Bagi yang belum pernah melakukannya, bash script adalah skrip pemrograman sederhana yang menjadi standar instalasi Linux. Bash script di buat dalam sebuah file text dengan ekstensi 'sh' yang berisi perintah-perintah yang akan dijalankan dengan cara memanggil nama file tersebut.
Buatlah file txt standar dan ketikkan script sebagai berikut

#!/bin/bash
# Created by Sastrawan, SKM, MHA

for i in `seq $2 $3`;
do
wget $1$i.$4
done

simpan dengan nama bulkdownloadpattern.sh

Penjelasan :
Baris yang diawali tanda # adalah baris komentar yang tidak akan dijalankan

skrip ini akan mengambil 4 buah parameters yang ada setelah nama file yang berisi skrip ini.
Parameter 1 = link atau alamat file asal
Parameters 2 = Indeks awal
Parameter 3 = Indeks akhir
Parameter 4 = ekstensi file (mp3, jpg, pdf, jpeg, mp4, mov, dll)

Contoh penggunaan.

./bulkdownloadpattern.sh http://www.islamhouse.com/d/files/ar/ih_quran/Sala7_Al_Hashem/Sala7_Al_Hashem_ 100 104 mp3


Perintah diatas akan mendownload file
Sala7_Al_Hashem_100.mp3,
Sala7_Al_Hashem_101.mp3,
Sala7_Al_Hashem_103.mp3,
Sala7_Al_Hashem_104.mp3

Sebelum skript tersebut dapat digunakan, silahkan diganti dulu status aksesnya dengan cara
ketik

sudo chmod 777 bulkdownloadpattern.sh

Catatan : kode 777 akan memberikan akses read-write-akses kepada semua orang. silahkan gunakakan dengan bijaksana. Silahkan baca postingan saya tentang penggantian ownership folder dan file pada linux.

Bagaimana dengan file yang tidak memiliki pola ?. Hal ini akan saya bahas dalam postingan berikutnya. Silahkan dicek

0 comments:

Posting Komentar

Write your comment here