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.
Yorumlar 2 yorum yapıldı.
Yeni Yorum