Merhaba,

 

Bu yazıda Node.js üzerinde Axios ve Cheerio ile Html Parse işleminden bahsedeceğim.

 

Örnek projemizde https://www.oxfordlearnersdictionaries.com/wordlist/american_english/oxford3000/ linkinde bulunan İngilizce kelimeleri çekip konsola yazdıracağız.

 

İlk olarak istediğimiz bir dizine gelip Node.js projesi oluşturuyoruz:

npm init -y

 

Sonrasında gerekli paketleri kuruyoruz:

npm install axios cheerio

 

Html parse işlemi için tarayıcıdan öğeyi denetle diyerek linkteki html yapısına bakıyoruz:

 

Proje dizininde index.js adında bir dosya oluşturuyoruz ve içeriğini şu şekilde dolduruyoruz:

const axios = require('axios')
const cheerio = require('cheerio')
const url = "https://www.oxfordlearnersdictionaries.com/wordlist/american_english/oxford3000"

axios.get(url).then(response => {
  const $ = cheerio.load(response.data)
  const wordList = $("#entrylist1 ul li a").toArray().map(x => $(x).text())
  console.log(wordList)
})

Burada yaptığımız işlemler;

  • Gerekli paketleri dahil et
  • İşlem yapılacak url'i tanımla
  • Axios ile url'e GET isteği yap ve gelen sonucun içindeki data'yı cheerio ile al
  • entrylist1 id'li elementin içindeki ul etiketlerinin içindeki li etiketlerinin içindeki a etiketlerinin içeriğini al :) Bunları array'e çevirip map'le ve text'lerini wordList değişkenine ata
  • wordList değişkenini konsola yazdır

 

Projemizi ayağa kaldırıyoruz:

node index

 

Konsol çıktımız şu şekilde oluyor:

Elbette burada sadece ilk sayfadaki kelimeleri çekmiş olduk. Tüm sayfalarda bulunan kelimeleri çekme işlemi de başka bir yazının konusu olsun :)

 

Umarım yararlı olmuştur.

 

İyi çalışmalar.