Kali ini bahasan kita adalah scraping atau mengambil data tokopedia, bukan hacking tapi mengambil konten2 yg dapat diakses oleh semua pihak dengan memilih konten yg diperlukan untuk di tampilkan di situs milik kita

Install Luwak

Luwak disini bukan white coffee yg aman dilambung ga bikin kembung, tapi tools untuk melakukan scrapping, yg setiap data web DOM akan langsung diolah menjadi bentuk JSON, amazing bukan tools satu ini, oke langsung aja masuk console/terminal kalian

npm install luwak

Write File

Kemudian bikin file index.js

disini kita akan mengambil konten flash sale

const url = 'http://ace.tokopedia.com/hoth/discovery/render/component/desktop/flash-sale/62532?rpc_Page=1&rpc_ResultPerPage=20';
let data = await luwak(url)
      .filter('hitung', function (value) {
        let newString = value.replace('200-square', '700')
        return newString;
      })
      .select([{
          '$root': '.td_col__5',
          judul: 'h1',
          priceAfter: '.price-after',
          priceBefore: '.price-before',
          image: 'img@src | hitung',
          link: 'a@href'
      }])
      .fetch();

$root = adalah inti dari tag html yg ingin kalian ambil content nya *(required use)

judul = adalah penamaan object json untuk text yg berada di h1 contoh <h1>anu</h1> , akan menampilkan anu

dan seterusnya.. method .filter() berfungsi untuk mengevaluasi return value.

Execute Code

Saatnya eksekusi code nya

node index.js

ouputnya akan seperti ini

[ { judul: 'SOUL UPBEAT High Performance Earphones - Hitam',
    priceAfter: 'Rp 121.212',
    priceBefore: 'Rp 224.850',
    image:
     'https://ecs7.tokopedia.net/img/cache/700/product-1/2018/11/27/21256362/21256362_d447a784-2cdf-48fa-af7e-491119482336_800_800.jpg',
    link:
     'https://www.tokopedia.com/soulofficial/soul-upbeat-high-performance-earphones-hitam?trkid=f%3DP0Cb0_src%3Dsprint-sale_page%3D1_ob%3D17_catid%3D565' },
  { judul: 'Vaneli Crystal 134 gr FS',
    priceAfter: 'Rp 12.750',
    priceBefore: 'Rp 15.000',
    image:
     'https://ecs7.tokopedia.net/img/cache/700/product-1/2017/10/9/22998910/22998910_711e7a8c-896d-4ff2-8d44-3450da23568f_576_576.jpg',
......

mudah bukan?? ini adalah contoh dengan method basic, Luwak ini dapat menggunakan middleware engine, contoh seperti nightmare, dsb

penggunaan engine biasanya dipakai jika web tidak bisa discrap menggunakan basic seperti ini, untuk lebih lengkap contoh penggunaan middleware engine luwak bisa lihat disini.

Thanks to reekoheek, buat tools keren nya !!