Program Sederhana Untuk Scrapping Gambar Menggunakan Python

Program Sederhana Untuk Scrapping Gambar Menggunakan Python

Terkadang saat bekerja kita membutuhkan referensi gambar dari banyak situs dan mendownloadnya satu persatu adalah hal yang sangat menjemukan. Untungnya dengan sedikit bantuan menggunakan python kamu bisa mengurangi beban kerja kamu karena kamu hanya perlu memasukkan URL dari situs yang akan kamu ambil seluruh gambarnya.

Apa Yang Dimaksud Dengan Scrapping?

Scraping atau data scraping adalah teknik atau metode otomatisasi yang memungkinkan seseorang untuk mengekstrak data dari sebuah website, database, aplikasi enterprise, atau sistem legacy. Teknik ini dilakukan dengan mengumpulkan data pada sebuah website melalui proses ekstraksi informasi menggunakan Hypertext Transfer Protocol (HTTP). Scraping dapat dilakukan secara manual atau dengan menggunakan program otomatis seperti Python contohnya

Bagaimana Cara Scraping Gambar Dari Sebuah Situs Dengan Inputan URL Dari Pengguna?

Kamu bisa menggunakan bahasa pemrograman Python untuk melakukan scraping gambar dari sebuah situs web dengan menggunakan library seperti requests untuk mengunduh halaman web dan BeautifulSoup untuk melakukan parsing HTML. Selain itu, kamu juga dapat menggunakan library urllib atau wget untuk mengunduh gambar. Berikut adalah contoh program sederhananya:

import os
import requests
from bs4 import BeautifulSoup
from urllib.parse import urlparse

# Fungsi untuk mengunduh gambar dari URL
def download_image(url, folder_path):
    try:
        response = requests.get(url)
        if response.status_code == 200:
            # Dapatkan nama berkas dari URL
            parsed_url = urlparse(url)
            file_name = os.path.basename(parsed_url.path)
            file_path = os.path.join(folder_path, file_name)

            with open(file_path, 'wb') as f:
                f.write(response.content)
            print(f"Gambar {file_name} berhasil diunduh ke {file_path}")
        else:
            print(f"Error: Status code {response.status_code}")
    except Exception as e:
        print(f"Error: {str(e)}")

# Fungsi untuk scraping gambar dari URL
def scrape_images_from_url(url, folder_path):
    try:
        response = requests.get(url)
        if response.status_code == 200:
            soup = BeautifulSoup(response.text, 'html.parser')

            # Cari semua elemen gambar (tag <img>)
            img_tags = soup.find_all('img')

            for img_tag in img_tags:
                img_url = img_tag.get('src')

                # Pastikan URL gambar valid
                if img_url:
                    # Jika URL relatif, buat URL lengkap
                    if not img_url.startswith('http'):
                        img_url = url + img_url

                    download_image(img_url, folder_path)
        else:
            print(f"Error: Status code {response.status_code}")
    except Exception as e:
        print(f"Error: {str(e)}")

if __name__ == '__main__':
    url = input("Masukkan URL situs web: ")
    folder_path = input("Masukkan nama folder untuk menyimpan gambar: ")

    if not os.path.exists(folder_path):
        os.makedirs(folder_path)

    scrape_images_from_url(url, folder_path)

Program ini akan meminta pengguna untuk memasukkan URL situs web yang ingin di-scraper, serta nama folder di mana gambar akan disimpan. Kemudian, program akan mengunduh dan menyimpan gambar-gambar yang ditemukan di halaman tersebut ke folder yang telah ditentukan. Pastikan kamu telah menginstal library requests dan beautifulsoup4 sebelum menjalankan program ini dengan perintah pip install requests beautifulsoup4.