SERP SCRAPPING WITH NODE.JS

charlesmana
4 min readNov 17, 2023

--

web scrapping adalah proses pengambilan atau mengekstrak data dari sebuah website secara otomatis. data yang diambil biasanya berupa data terstruktur, seperti daftar harga, daftar produk, atau daftar berita. disini kami akan menjelaskan bagaimana cara anda untuk melakukan web scrapping terhadap hasil pencarian mesin telusur (SERP) menggunakan node.js

  • apa itu node.js

Node.js adalah platform pemrograman yang dapat digunakan untuk membuat aplikasi web, aplikasi mobile, dan aplikasi server.

  • manfaat SERP Scrapping menggunakan node.js

SERP Scrapping dapat digunakan untuk berbagai keperluan, seperti :

  1. riset pasar
    SERP Scrapping dapat digunakan untuk mengumpulkan data pasar, seperti tren pencarian, persaingan bisnis, atau reputasi perusahaan.
  2. Analisis data
    SERP scraping dapat digunakan untuk menganalisis data, seperti data penjualan, data pelanggan, atau data kinerja perusahaan.
  3. Pembuatan aplikasi
    SERP scraping dapat digunakan untuk membuat aplikasi yang membutuhkan data dari SERP, seperti aplikasi berita, aplikasi belanja online, atau aplikasi cuaca.
  • langkah-langkah untuk melakukan SERP Scrapping menggunakan Node.js
  1. Pastikan anda sudah memiliki Node.Js dan terlitas pada perangkat yang anda gunakan. (https://nodejs.org/en)

2. gunakan notepad++ untuk melakukan penulisan kode, mengedit file teks, dan debugging kode. (https://notepad-plus-plus.org/downloads/)

3. buat folder dalam folder yang dikhususkna untuk melakukan Scrapping.

4. install module Unirest dan Cheerio pada terminal node.js

bila sudah menginstall maka tampilan dalam folder akan seperti ini

5. siapkan search engine yang ingin di search (misal : tahu)

6. setelah menentukan bahan untuk dilakukannya Scrapping, buat folder.js dan letakan dalam folder (folder scrape google)

buka dengan notepad++ dan masukan kode ini

const unirest = require("unirest");
const cheerio = require("cheerio");

const getOrganicData = () => {
return unirest
.get("https://www.google.com/search?q=tahu")
.headers({
"User-Agent":
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36",
})
.then((response) => {
let $ = cheerio.load(response.body);

let titles = [];
let links = [];
let snippets = [];
let displayedLinks = [];

$("h3[class='LC20lb MBeuO DKV0Md']").each((i, el) => {
titles[i] = $(el).text();
});
$("a[jsname='UWckNb']").each((i, el) => {
links[i] = $(el).attr("href");
});
$(".g .VwiC3b ").each((i, el) => {
snippets[i] = $(el).text();
});
$(".g .yuRUbf .NJjxre .tjvcx").each((i, el) => {
displayedLinks[i] = $(el).text();
});

const organicResults = [];

for (let i = 0; i < titles.length; i++) {
organicResults[i] = {
title: titles[i],
links: links[i],
snippet: snippets[i],
displayedLink: displayedLinks[i],
};
}
console.log(organicResults)
});
};

getOrganicData();

6. untuk melihat elemen yang akan di Scrapping maka anda bisa menekan tombol CTRL+SHIFT+C (untuk membuka bagian inspeksi pada laman web)

setelah mengetahui letak title, masukan kode tersebut pada bagian title di folder.js yang telah dibuat

 $(".LC20lb.MBeuO.DKV0Md").each((i, el) => {
titles[i] = $(el).text();
});
$('div[class="byrV5b"]').each((i, el) => {
//links[i] = $(el).attr('href');
links[i] = $(el).text();
});

$(".VwiC3b.yXK7lf.lyLwlc.yDYNvb.W8l4ac").each((i, el) => {
snippets[i] = $(el).text();
});

$(".VuuXrf").each((i, el) => {
displayedLinks[i] = $(el).text();
});

7. untuk menampilkan hasil Scrapping, masukan syntax :

C:\ogi\layanan web\scrape google>node GoogleorganicResults
Scraper.js

8. setelah berhasil maka SERP dapat di simpan pada file JSON dengan cara menambakan syntax pada file.js.

const unirest = require("unirest");
const cheerio = require("cheerio");
const fs = require("fs");

const getOrganicData = () => {
return unirest
.get("https://www.google.com/search?q=tahu")
.headers({
"User-Agent":
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36",
})
.then((response) => {
let $ = cheerio.load(response.body);

let titles = [];
let links = [];
let snippets = [];
let displayedLinks = [];

$(".LC20lb.MBeuO.DKV0Md").each((i, el) => {
titles[i] = $(el).text();
});

$('div[class="byrV5b"]').each((i, el) => {
//links[i] = $(el).attr('href');
links[i] = $(el).text();
});

$(".VwiC3b.yXK7lf.lyLwlc.yDYNvb.W8l4ac").each((i, el) => {
snippets[i] = $(el).text();
});

$(".VuuXrf").each((i, el) => {
displayedLinks[i] = $(el).text();
});

//$('div[data-example="1"]');
const organicResults = [];

for (let i = 0; i < titles.length; i++) {
organicResults[i] = {
title: titles[i],
links: links[i],
snippet: snippets[i],
displayedLink: displayedLinks[i],
};
}
const jsonData = JSON.stringify(organicResults);
fs.writeFileSync('Scrapping-Tahu.json', jsonData);
});
};

getOrganicData();

jika berhasil menyimpan file JSON maka file akan muncul pada folder yang telah dibuat untuk melakukan Scrapping.

SERP Scrapping telah berhasil dilakukan, dengan begitu anda dapat mengikuti tahapan-tahapan yang sudah tertera dan diikuti secara rinci.

selamat mencoba!

--

--