Scraper SHUTTERSTOCK Nodejs

Shutterstock itu situs penyedia gambar dan video berlisensi yang banyak digunakan buat keperluan desain grafis website dan sebagainya.

Muhamad Nur Ibad

25 Januari 20251 menit baca

Cara Scrape ShutterStock Pakai Node.js: Gampang Banget!

Oke, jadi kamu lagi cari cara buat nyari gambar atau video di Shutterstock tanpa ribet kan? Nah, di sini kita bakal belajar cara scrape Shutterstock pake Node.js! Tenang aja, gak perlu jadi ahli banget, yang penting kamu udah ngerti dasar-dasar JavaScript dan sedikit tentang web scraping. Yuk, simak!

Apa Itu Scraping?

Scraping itu basically proses ngambil data dari web secara otomatis. Biasanya sih, kita pakai buat ngambil gambar, teks, atau info lainnya tanpa harus buka website manual satu-satu. Kita bakal pake dua library nih, yaitu axios buat ngambil data dari web, sama cheerio buat nge-parsing HTML biar lebih gampang ngambil datanya.

Apa Itu Shutterstock?

Shutterstock itu situs penyedia gambar dan video berlisensi yang banyak digunakan buat keperluan desain grafis, website, dan sebagainya. Tapi, kadang kita butuh banget cari gambar atau foto secara masal kan? Nah, di sinilah scraping jadi solusi!

Alat dan Bahan

1. Node.js – Kamu butuh Node.js terinstal di komputer kamu.

2. Axios – Buat request HTTP ke halaman web.

3. Cheerio – Untuk parsing HTML supaya kita bisa ambil data dengan mudah.

Langkah-langkah Scrape Shutterstock

1. Install Dependency

Pertama, kamu harus install dua library ini di proyek Node.js kamu:

npm install axios cheerio

2. Kode Scraping-nya

Oke, sekarang masuk ke bagian kode. Kita bakal buat fungsi shutterShockSearch(query) yang bakal nyari gambar berdasarkan keyword yang kamu input. Contoh, kita mau cari gambar dengan keyword "anime". Berikut kode lengkapnya:

const axios = require('axios');
const cheerio = require('cheerio');

async function shutterShockSearch(query) {
    try {
        const { data } = await axios.get('https://www.shutterstock.com/id/search/' + query, { 
            headers: { 
                "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" 
            } 
        });
        const $ = cheerio.load(data);
        const results = [];

        $('a.mui-t7xql4-a-inherit-link').each((index, element) => {
            const title = $(element).attr('aria-label');
            const href = $(element).attr('href');

            results.push({
                title: title,
                link: `https://www.shutterstock.com${href}`,
            });
        });

        return results
    } catch (error) {
        return error.message;
    }
}

// Example:
shutterShockSearch("anime").then(results => {
    console.log(results); // Menampilkan hasilnya
});

Penjelasan Kode:

1. Axios Request: Kita menggunakan axios.get() untuk ngambil halaman dari Shutterstock berdasarkan query yang kita kasih. Misalnya, shutterShockSearch("anime").

2. Cheerio Parsing: Setelah kita dapat data dari web, kita pake cheerio buat parsing HTML dan ngambil semua link gambar yang ada. Di sini, kita cari elemen dengan class mui-t7xql4-a-inherit-link yang merupakan link gambar.

3. Return Results: Kita ambil atribut aria-label buat jadi judul dan href buat link gambar, terus simpen ke array results. Hasilnya nanti dikembalikan ke pengguna.

Contoh Hasil:

Misalnya, kamu nyari "anime", nanti hasilnya bakal berupa list judul gambar beserta link-nya ke Shutterstock. Contohnya bisa jadi kayak gini:

[
  {
    "title": "Anime Girl",
    "link": "https://www.shutterstock.com/id/search/anime-girl"
  },
  {
    "title": "Anime Background",
    "link": "https://www.shutterstock.com/id/search/anime-background"
  }
]

Kenapa Pakai Scraping?

1. Cepat: Gak perlu buka-buka website satu per satu.

2. Otomatis: Bisa ambil banyak gambar sekaligus.

3. Gratis: Gak perlu langganan premium, meskipun kalau buat download gambar harus beli lisensinya.

Kekurangan

Legalitas: Pastikan kamu cuma ambil data untuk keperluan yang sah. Jangan sampai melanggar ketentuan dari Shutterstock.

Limitasi: Kadang, website bisa ngelimit scraping, jadi kamu harus hati-hati.

Penutup

Itu dia cara scrape Shutterstock dengan Node.js! Gampang banget, kan? Tinggal modifikasi sedikit, kamu udah bisa nyari gambar untuk proyek kamu tanpa ribet. Tapi inget, pastikan kamu pake data yang sesuai dan gak melanggar hak cipta. Happy coding, dan jangan lupa gabung ke channel WhatsApp kita buat sharing ilmu lebih lanjut! ✨

Channel: Klik di sini

#Scraping #Nodejs #Shutterstock #WebScraping #CodingGaul