Kali ini gw akan ngebahas mengenai bagaimana membuat scrapper sederhana pada website yang diinginkan dengan menggunakan NodeJS. Belum tahu apa itu NodeJS? coba mampir kesini “Apa Itu NodeJS? dan Manfaatnya“. Scrapper ini bertujuan untuk mengambil data yang ditampilkan pada web yang nantinya akan diolah lagi untuk menjadi informasi yang bermanfaat. Pada kasus ini gw mencoba untuk mengambil berita-berita dari detik.com.
Modul yang dibutuhkan adalah request, dan cheerio.
/*
* Module dependencies
*/
var request = require("request"),
var cheerio = require("cheerio");
(function(){
var date = '2014-01-01';
var arr = date.split('-');
// Request to webPage with method Post
request({
uri : "http://news.detik.com/indeks/",
method: "POST",
form : {
tgl: arr[2],
bln: arr[1],
thn: arr[0]
}
}, function(error, response, body) {
// Get News
var $ = cheerio.load(body);
$('ul.list_indeks li').each(function(count,element){
// Get Title, Url, DateCreate
var title = $(this).find('a');
var link = title.attr('href');
var dateCreate = $(this).find('span');
var data = [title.text().trim().replace('\t\n',''),link,date];
console.log(data);
});
});
})();
request({
uri : "http://news.detik.com/indeks/",
method: "POST",
form : {
tgl: arr[2],
bln: arr[1],
thn: arr[0]
}
},
Code diatas digunakan untuk merefer pada suatu halaman web tertentu. Kebetulan method yang digunakan adalah method post.
var $ = cheerio.load(body);
$('ul.list_indeks li').each(function(count,element){
// Get Title, Url, DateCreate
var title = $(this).find('a');
var link = title.attr('href');
var dateCreate = $(this).find('span');
var data = [title.text().trim().replace('\t\n',''),link,date];
console.log(data);
Code diatas digunakan untuk mengambil keseluruhan halaman web kemudian diambil bagian yang nantinya akan digunakan untuk dijadikan informasi. Dengan menggunakan module cheerio secara tidak langsung kita belajar mengenai traversing pada jQuery. Console.log(data)
fungsinya sama dengan print_r(data)
pada PHP yaitu mencetak data yang akan ditampilkan.
source image : diaryskripsi.blogspot.com
Salam Hangat,
Masbobs
Berbagai Catatan Tutorial Memanfaatkan Teknologi