Panduan Lengkap Menggunakan wget: Unduh File dari Internet dengan Mudah - wongganteng10/tutorial GitHub Wiki
Berikut adalah panduan lengkap untuk perintah wget
, sebuah tool command-line untuk mengunduh file dari internet melalui protokol HTTP, HTTPS, dan FTP.
wget
adalah utilitas non-interaktif yang digunakan untuk mengambil file dari web. Karena bersifat non-interaktif, wget
dapat berjalan di latar belakang bahkan setelah sesi pengguna berakhir. Cocok untuk mengotomatiskan pengunduhan file, mirror situs web, dan mendukung resume unduhan.
wget [opsi] [URL]
- Mendukung Protokol HTTP, HTTPS, FTP.
- Resume Unduhan.
- Mirror Situs Web.
- Non-Interaktif.
- Mendukung Proxy.
- Dapat diatur menggunakan file konfigurasi.
-
Ubuntu/Debian:
sudo apt update sudo apt install wget
-
CentOS/RHEL:
sudo yum install wget
-
Arch Linux:
sudo pacman -S wget
-
Windows:
- Unduh versi Windows dari GNU wget.
wget http://example.com/file.zip
wget -O nama_baru.zip http://example.com/file.zip
wget -c http://example.com/largefile.zip
wget -i daftar-url.txt
wget -r http://example.com/folder/
wget --mirror -p --convert-links -P ./lokal http://example.com
wget -e use_proxy=yes -e http_proxy=proxy.example.com:8080 http://example.com/file.zip
wget --limit-rate=500k http://example.com/largefile.zip
wget --http-user=username --http-password=password http://example.com/protected/file.zip
wget ftp://username:[email protected]/file.zip
Opsi | Deskripsi |
---|---|
-O file | Simpan file dengan nama tertentu. |
-c | Lanjutkan unduhan yang terputus. |
-r | Unduh direktori secara rekursif. |
--mirror | Mirror situs web. |
--limit-rate=RATE | Batasi kecepatan unduhan. Contoh: 500k atau 1m. |
-i file | Membaca URL dari file. |
--user / --password | Otentikasi dengan username dan password. |
--no-check-certificate | Abaikan validasi sertifikat SSL. |
-t N | Tentukan jumlah percobaan ulang (N) jika gagal. |
--timeout=SECONDS | Atur batas waktu koneksi. Default: 900 detik. |
--random-wait | Menunggu secara acak sebelum permintaan berikutnya (anti-banned). |
wget --mirror --limit-rate=200k --timeout=30 -P ./backup http://example.com
wget -A jpg,jpeg,png -r -l1 -nd http://example.com/gallery/
wget -c --proxy=on --http-proxy=proxy.example.com:8080 http://example.com/file.zip
File Konfigurasi Default:
- Lokasi:
~/.wgetrc
Contoh Isi File:
use_proxy = on
http_proxy = proxy.example.com:8080
https_proxy = proxy.example.com:8080
wait = 1
random_wait = on
Untuk memeriksa detail proses, gunakan:
wget -d http://example.com/file.zip
Dengan memahami perintah dan opsi di atas, Anda dapat menggunakan wget
untuk berbagai keperluan pengunduhan otomatis. Jika Anda memerlukan penjelasan tambahan, beri tahu saya!
wget
adalah utilitas non-interaktif yang digunakan untuk mengambil file dari web. Karena bersifat non-interaktif, wget
dapat berjalan di latar belakang bahkan setelah sesi pengguna berakhir. Cocok untuk mengotomatiskan pengunduhan file, mirror situs web, dan mendukung resume unduhan.
wget [opsi] [URL]
- Mendukung Protokol HTTP, HTTPS, FTP.
- Resume Unduhan.
- Mirror Situs Web.
- Non-Interaktif.
- Mendukung Proxy.
- Dapat diatur menggunakan file konfigurasi.
-
Ubuntu/Debian:
sudo apt update sudo apt install wget
-
CentOS/RHEL:
sudo yum install wget
-
Arch Linux:
sudo pacman -S wget
-
Windows:
- Unduh versi Windows dari [GNU wget](https://eternallybored.org/misc/wget/).
wget http://example.com/file.zip
wget -O nama_baru.zip http://example.com/file.zip
wget -c http://example.com/largefile.zip
wget -i daftar-url.txt
wget -r http://example.com/folder/
wget --mirror -p --convert-links -P ./lokal http://example.com
wget -e use_proxy=yes -e http_proxy=proxy.example.com:8080 http://example.com/file.zip
wget --limit-rate=500k http://example.com/largefile.zip
wget --http-user=username --http-password=password http://example.com/protected/file.zip
wget ftp://username:[email protected]/file.zip
Opsi | Deskripsi |
---|---|
-O file |
Simpan file dengan nama tertentu. |
-c |
Lanjutkan unduhan yang terputus. |
-r |
Unduh direktori secara rekursif. |
--mirror |
Mirror situs web. |
--limit-rate=RATE |
Batasi kecepatan unduhan. Contoh: 500k atau 1m . |
-i file |
Membaca URL dari file. |
--user / --password
|
Otentikasi dengan username dan password. |
--no-check-certificate |
Abaikan validasi sertifikat SSL. |
-t N |
Tentukan jumlah percobaan ulang (N ) jika gagal. |
--timeout=SECONDS |
Atur batas waktu koneksi. Default: 900 detik. |
--random-wait |
Menunggu secara acak sebelum permintaan berikutnya (anti-banned). |
wget --mirror --limit-rate=200k --timeout=30 -P ./backup http://example.com
wget -A jpg,jpeg,png -r -l1 -nd http://example.com/gallery/
wget -c --proxy=on --http-proxy=proxy.example.com:8080 http://example.com/file.zip
File Konfigurasi Default:
- Lokasi:
~/.wgetrc
Contoh Isi File:
use_proxy = on
http_proxy = proxy.example.com:8080
https_proxy = proxy.example.com:8080
wait = 1
random_wait = on
Untuk memeriksa detail proses, gunakan:
wget -d http://example.com/file.zip
Untuk mendownload file dari URL seperti http://example.com/asset/poto/
, berikut beberapa cara yang bisa dilakukan:
Jika direktori itu berisi file yang dapat diunduh, gunakan:
wget -r -np -nH --cut-dirs=2 -R "index.html*" http://example.com/asset/poto/
-
-r
: Mendownload secara rekursif. -
-np
: Tidak naik ke direktori atas. -
-nH
: Mengabaikan nama host pada struktur direktori. -
--cut-dirs=2
: Mengabaikan 2 tingkat direktori pertama. -
-R "index.html*"
: Mengabaikan fileindex.html
.
Jika file yang diinginkan adalah satu file:
curl -O http://example.com/asset/poto/namafile.jpg
Jika ingin mendownload semua file dengan format tertentu:
curl -O http://example.com/asset/poto/*.jpg
- Buka URL
http://example.com/asset/poto/
di browser. - Jika terlihat daftar file, klik kanan pada file dan pilih "Save Link As..." untuk menyimpannya.
Jika Anda ingin mendownload banyak file dengan skrip:
import requests
from bs4 import BeautifulSoup
url = "http://example.com/asset/poto/"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
for link in soup.find_all('a'):
href = link.get('href')
if href.endswith(('.jpg', '.png')): # Ubah sesuai kebutuhan
file_url = url + href
file_response = requests.get(file_url)
with open(href, 'wb') as f:
f.write(file_response.content)
Pastikan pustaka requests
dan beautifulsoup4
sudah terinstal.
Apakah Anda memiliki akses langsung ke daftar file di direktori tersebut? Jika tidak, pengaturan server mungkin memblokir akses langsung ke file.
Dengan memahami perintah dan opsi di atas, Anda dapat menggunakan wget
untuk berbagai keperluan pengunduhan otomatis. Jika Anda memerlukan penjelasan tambahan, beri tahu saya!
Jika Anda ingin mendownload file dengan pola tertentu, seperti http://example.com/asset/poto/1010*
(semua file yang nama filenya diawali dengan 1010
), Anda bisa menggunakan wget atau curl dengan sedikit penyesuaian.
Gunakan opsi --accept
untuk mendownload file berdasarkan pola nama:
wget -r -np -nH --cut-dirs=2 -A "1010*" http://example.com/asset/poto/
Penjelasan:
-
-A "1010*"
: Hanya mendownload file yang diawali dengan1010
. - Opsi lainnya sama seperti yang dijelaskan sebelumnya.
Jika Anda tahu ekstensi file (misalnya .jpg
atau .png
), Anda dapat mendownload file berdasarkan pola nama dengan bantuan loop Bash:
for i in {1..100}; do
curl -O http://example.com/asset/poto/1010${i}.jpg
done
Penjelasan:
-
{1..100}
: Angka 1 hingga 100 (sesuaikan sesuai pola yang diinginkan). - Ganti
.jpg
dengan ekstensi file yang sesuai.
Jika Anda tidak dapat mengakses daftar file atau server tidak mengizinkan indeks direktori:
- Pastikan Anda tahu nama lengkap file yang ingin didownload.
- Jika menggunakan pola angka seperti
101001
,101002
, dll., gunakan skrip atau alat otomatis.
Jika server memiliki proteksi atau Anda membutuhkan metode yang lebih spesifik, beri tahu detail tambahan!
Kalau Anda ingin mendownload file dari sebuah URL secara full local, artinya Anda ingin mendownload seluruh konten yang tersedia di URL tersebut agar bisa diakses tanpa koneksi internet. Berikut adalah langkah-langkahnya:
-
Pastikan
wget
terinstal di sistem Anda.-
Debian/Ubuntu:
sudo apt install wget
-
Windows: Gunakan versi WSL atau download
wget
untuk Windows.
-
Debian/Ubuntu:
-
Jalankan perintah ini untuk memirror situs secara lokal:
wget --mirror --convert-links --adjust-extension --page-requisites --no-parent https://example.com
atau
wget --mirror --convert-links --adjust-extension --page-requisites --no-parent --no-check-certificate https://example.com
Penjelasan opsi:
-
--mirror
: Untuk mendownload seluruh situs. -
--convert-links
: Mengubah tautan agar bisa diakses offline. -
--adjust-extension
: Menyesuaikan ekstensi file (HTML, CSS, JS). -
--page-requisites
: Mendownload semua elemen (gambar, CSS, JS). -
--no-parent
: Hanya mendownload direktori target.
-
-
Semua file akan disimpan di folder lokal sesuai dengan struktur situs aslinya.
-
Install HTTrack:
-
Debian/Ubuntu:
sudo apt install httrack
- Windows: Download dari [httrack.com](https://www.httrack.com).
-
Debian/Ubuntu:
- Jalankan perintah ini:
Penjelasan:
httrack "https://example.com" -O ./example-site
-
"https://example.com"
: URL situs yang ingin didownload. -
-O ./example-site
: Lokasi folder tempat menyimpan file.
-
- Tunggu hingga proses selesai, lalu buka file di folder lokal.
Jika situsnya sederhana:
- Buka URL di browser.
- Klik kanan pada halaman > Save Page As atau Simpan Halaman Sebagai.
- Pilih opsi Web Page, Complete.
- File HTML dan resource pendukung (gambar, CSS, dll.) akan tersimpan di folder yang sama.
- Sebelum mendownload full local, pastikan Anda memiliki izin, terutama jika situs tersebut memiliki konten berhak cipta atau melarang scraping/mirroring dalam Terms of Service.
Jika membutuhkan panduan lebih rinci, beri tahu saya! 😊
Jika Anda ingin mengunduh semua file dari direktori https://web.com/assets/foto/20231/
, gunakan perintah berikut:
wget -r -np -nH --cut-dirs=3 -R "index.html*" https://web.com/assets/foto/20231/ --no-check-certificate
-
-r
: Mengaktifkan mode rekursif untuk mengunduh semua file dalam direktori. -
-np
: Mencegah naik ke direktori di atas20231/
. -
-nH
: Menghindari pembuatan folder dengan nama domain (web.com
). -
--cut-dirs=3
: Menghapus tiga level direktori awal (assets/foto/20231
). -
-R "index.html*"
: Menghindari pengunduhan fileindex.html
jika ada.
Jika server tidak mengizinkan indeks direktori, perintah di atas tidak akan berfungsi. Dalam kasus tersebut, Anda perlu mengetahui daftar file yang ada di dalam direktori dan mengunduhnya satu per satu. Contohnya:
wget https://web.com/assets/foto/20231/gambar1.jpg
wget https://web.com/assets/foto/20231/gambar2.png
Silakan dicoba, dan beri tahu jika ada kendala! 🚀