Pages

Cara Mudah membuat Scraper Sederhana dengan Nightmare.js


Web scraping atau yang biasa disebut scraping adalah suatu metoda untuk mendapatkan konten dari web dengan menggunakan sebuah software.

Adapun tujuan dari web scraping adalah mengekstrak data yang dianggap penting dari limpahan data yang sudah ada.

Software yang digunakan beragam.

Ada software berbayar yang memiliki fitur lengkap dan dapat dikustomisasi, dan ada juga yang dalam bentuk library bahasa pemrograman.

Salah satu scraper yang berbentuk library bahasa pemrograman adalah Nightmare.js.

Nightmare.js merupakan library Javascript yang bisa digunakan untuk Node.js maupun Electron.

Salah satu keistimewaan Nightmare.js adalah bahwa software ini bukan hanya melakukan request, tetapi juga berjalan sebagaimana browser karena elemen dari Nightmare.js sendiri adalah browser.

Bisa juga disebut sebagai headless browser walaupun Nightmare.js bisa disetting untuk memperlihatkan browsernya atau tidak.

Untuk menginstall Nightmare.js, pastikan bahwa Anda telah menginstall Node.js dan NPMnya.

Buat sebuah folder dan masuklah.

Kemudian ketikkan ini pada Power Shell:

npm install nightmare

Setelah itu buat sebuah script dan isi:

const Nightmare = require('nightmare')
const chai = require('chai')
const expect = chai.expect

describe('test duckduckgo search results', () => {
  it('should find the nightmare github link first', function(done) {
    this.timeout('10s')

    const nightmare = Nightmare()
    nightmare
      .goto('https://duckduckgo.com')
      .type('#search_form_input_homepage', 'github nightmare')
      .click('#search_button_homepage')
      .wait('#links .result__a')
      .evaluate(() => document.querySelector('#links .result__a').href)
      .end()
      .then(link => {
        expect(link).to.equal('https://github.com/segmentio/nightmare')
        done()
      })
  })
})

Sekarang, software ini siap untuk men-scrape Duckduckgo.

Sumber:
  • https://github.com/segmentio/nightmare