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.


Apa Itu wget?

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.


Sintaks Umum

wget [opsi] [URL]

Fitur Utama wget

  • Mendukung Protokol HTTP, HTTPS, FTP.
  • Resume Unduhan.
  • Mirror Situs Web.
  • Non-Interaktif.
  • Mendukung Proxy.
  • Dapat diatur menggunakan file konfigurasi.

Instalasi wget

  1. Ubuntu/Debian:
    sudo apt update
    sudo apt install wget
    
  2. CentOS/RHEL:
    sudo yum install wget
    
  3. Arch Linux:
    sudo pacman -S wget
    
  4. Windows:

Contoh Penggunaan wget

1. Unduh File Sederhana

wget http://example.com/file.zip

2. Ubah Nama File Setelah Unduhan

wget -O nama_baru.zip http://example.com/file.zip

3. Resume Unduhan yang Terputus

wget -c http://example.com/largefile.zip

4. Unduh Daftar URL dari File

wget -i daftar-url.txt

5. Unduh Semua File dalam Folder

wget -r http://example.com/folder/

6. Mirror Situs Web Secara Lokal

wget --mirror -p --convert-links -P ./lokal http://example.com

7. Unduh dengan Proxy

wget -e use_proxy=yes -e http_proxy=proxy.example.com:8080 http://example.com/file.zip

8. Batas Kecepatan Unduhan

wget --limit-rate=500k http://example.com/largefile.zip

9. Unduh dengan Otentikasi HTTP

wget --http-user=username --http-password=password http://example.com/protected/file.zip

10. Unduh dari Server FTP

wget ftp://username:[email protected]/file.zip

Opsi-Opsi wget yang Sering Digunakan

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).

Contoh Kombinasi wget

1. Mirror Situs dengan Batas Kecepatan dan Timeout

wget --mirror --limit-rate=200k --timeout=30 -P ./backup http://example.com

2. Unduh Semua Gambar dari Halaman Web

wget -A jpg,jpeg,png -r -l1 -nd http://example.com/gallery/

3. Unduh Menggunakan Proxy dengan Resume

wget -c --proxy=on --http-proxy=proxy.example.com:8080 http://example.com/file.zip

Konfigurasi wget

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

Debugging wget

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!

Berikut adalah panduan lengkap untuk perintah **`wget`**, sebuah tool command-line untuk mengunduh file dari internet melalui protokol HTTP, HTTPS, dan FTP.

Apa Itu wget?

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.


Sintaks Umum

wget [opsi] [URL]

Fitur Utama wget

  • Mendukung Protokol HTTP, HTTPS, FTP.
  • Resume Unduhan.
  • Mirror Situs Web.
  • Non-Interaktif.
  • Mendukung Proxy.
  • Dapat diatur menggunakan file konfigurasi.

Instalasi wget

  1. Ubuntu/Debian:
    sudo apt update
    sudo apt install wget
  2. CentOS/RHEL:
    sudo yum install wget
  3. Arch Linux:
    sudo pacman -S wget
  4. Windows:

Contoh Penggunaan wget

1. Unduh File Sederhana

wget http://example.com/file.zip

2. Ubah Nama File Setelah Unduhan

wget -O nama_baru.zip http://example.com/file.zip

3. Resume Unduhan yang Terputus

wget -c http://example.com/largefile.zip

4. Unduh Daftar URL dari File

wget -i daftar-url.txt

5. Unduh Semua File dalam Folder

wget -r http://example.com/folder/

6. Mirror Situs Web Secara Lokal

wget --mirror -p --convert-links -P ./lokal http://example.com

7. Unduh dengan Proxy

wget -e use_proxy=yes -e http_proxy=proxy.example.com:8080 http://example.com/file.zip

8. Batas Kecepatan Unduhan

wget --limit-rate=500k http://example.com/largefile.zip

9. Unduh dengan Otentikasi HTTP

wget --http-user=username --http-password=password http://example.com/protected/file.zip

10. Unduh dari Server FTP

wget ftp://username:[email protected]/file.zip

Opsi-Opsi wget yang Sering Digunakan

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).

Contoh Kombinasi wget

1. Mirror Situs dengan Batas Kecepatan dan Timeout

wget --mirror --limit-rate=200k --timeout=30 -P ./backup http://example.com

2. Unduh Semua Gambar dari Halaman Web

wget -A jpg,jpeg,png -r -l1 -nd http://example.com/gallery/

3. Unduh Menggunakan Proxy dengan Resume

wget -c --proxy=on --http-proxy=proxy.example.com:8080 http://example.com/file.zip

Konfigurasi wget

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

Debugging wget

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:

1. Menggunakan wget di Terminal (Linux/Windows dengan WSL)

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 file index.html.

2. Menggunakan curl

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

3. Menggunakan Browser

  1. Buka URL http://example.com/asset/poto/ di browser.
  2. Jika terlihat daftar file, klik kanan pada file dan pilih "Save Link As..." untuk menyimpannya.

4. Menggunakan Python Script

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.

Menggunakan wget dengan Pola File

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 dengan 1010.
  • Opsi lainnya sama seperti yang dijelaskan sebelumnya.

Menggunakan curl dengan Pola File

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.

Catatan

Jika Anda tidak dapat mengakses daftar file atau server tidak mengizinkan indeks direktori:

  1. Pastikan Anda tahu nama lengkap file yang ingin didownload.
  2. 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:


1. Menggunakan wget untuk Mirror Situs

Langkah:

  1. Pastikan wget terinstal di sistem Anda.

    • Debian/Ubuntu: sudo apt install wget
    • Windows: Gunakan versi WSL atau download wget untuk Windows.
  2. 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.
  3. Semua file akan disimpan di folder lokal sesuai dengan struktur situs aslinya.


2. Menggunakan HTTrack

Langkah:

  1. Install HTTrack:
  2. Jalankan perintah ini:
    httrack "https://example.com" -O ./example-site
    Penjelasan:
    • "https://example.com": URL situs yang ingin didownload.
    • -O ./example-site: Lokasi folder tempat menyimpan file.
  3. Tunggu hingga proses selesai, lalu buka file di folder lokal.

3. Menggunakan Browser (Manual Download)

Jika situsnya sederhana:

  1. Buka URL di browser.
  2. Klik kanan pada halaman > Save Page As atau Simpan Halaman Sebagai.
  3. Pilih opsi Web Page, Complete.
  4. File HTML dan resource pendukung (gambar, CSS, dll.) akan tersimpan di folder yang sama.

4. Pastikan Tidak Melanggar Ketentuan

  • 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

Penjelasan:

  • -r : Mengaktifkan mode rekursif untuk mengunduh semua file dalam direktori.
  • -np : Mencegah naik ke direktori di atas 20231/.
  • -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 file index.html jika ada.

Catatan:

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! 🚀

⚠️ **GitHub.com Fallback** ⚠️