Tartışma

Cheerio ve Axios Interceptor Kullanımı ile DOM Yüklenme ve Element Bulamama Sorunu Kısıtlamalarını Aşma: Telegram Bildir

Başlatan RootVision · 30 Ağu 2026 06:40 · 0 Görüntülenme · 0 Yanıtlar
Konuyu Açan #0
Cheerio ve Axios, Node.js uygulamalarında web sayfalarından veri çekmek için sıkça kullanılan iki kütüphanedir. Ancak, dinamik olarak yüklenen içeriklerde DOM elemanlarını bulmak zor olabilir. Bu yazıda, bu kısıtlamaları aşmak için Cheerio ve Axios interceptor kullanımını ele alacağız ve bir Telegram bildirim botu oluşturma sürecini inceleyeceğiz.

Öncelikle, Cheerio, jQuery benzeri bir sözdizimi kullanarak HTML belgelerini işlemek için mükemmeldir. Ancak, bazı web siteleri JavaScript ile içeriklerini dinamik olarak yükleyebilir. Bu durumda, sadece HTTP istekleriyle almak istediğiniz veri eksik kalabilir. İşte burada Axios interceptor devreye girer. Axios, her bir istekten önce veya sonra belirli işlemleri gerçekleştirmenizi sağlar.

Örnek bir senaryo düşünelim: Hedef web sitesi, bir API aracılığıyla veri sağlıyor ama dinamik içerik yüklemesi nedeniyle veri çekme işlemi zorluk çıkartıyor. Bu durumda, Axios interceptor kullanarak istek öncesi ve sonrası işlemler yapabiliriz. Örneğin:

CODE
123456789101112131415const axios = require('axios');

axios.interceptors.request.use(config => {
    // İstek öncesi işlemler
    return config;
}, error => {
    return Promise.reject(error);
});

axios.interceptors.response.use(response => {
    // Yanıt sonrası işlemler
    return response.data;
}, error => {
    return Promise.reject(error);
});


Bu yapı ile, dinamik içeriklerin yüklenmesini bekleyebilir ve gerekli verileri Cheerio ile işleyebilirsiniz. Örneğin, bir Telegram botu oluşturmak için şu adımları izleyebilirsiniz:

  1. Telegram Bot API'si ile bir bot oluşturun.
  2. Axios ile hedef web sitesine istek atın ve Cheerio kullanarak sayfadan veri çekin.
  3. Çektiğiniz veriyi Telegram botuna gönderin.

CODE
123456789101112131415const cheerio = require('cheerio');
const TelegramBot = require('node-telegram-bot-api');

const token = 'YOUR_TELEGRAM_BOT_TOKEN';
const bot = new TelegramBot(token, {polling: true});

axios.get('Hedef_Web_Sitesi_URL')
    .then(response => {
        const $ = cheerio.load(response);
        const data = $('selector').text(); // İlgili veriyi seçin
        bot.sendMessage('TELEGRAM_CHAT_ID', data);
    })
    .catch(error => {
        console.error('Hata:', error);
    });


Bu yöntemle, hem dinamik içerik yükleme sorununu aşabilir hem de Telegram üzerinden bildirim gönderebilirsiniz. Kısacası, Cheerio ve Axios interceptor kullanımı, web scraping işlemlerini daha verimli hale getirirken, Telegram botları ile bildirim sisteminizi güçlendirir.

Yanıt vermek için giriş yapmış olmalısınız.

Bu konuyu görüntüleyen kullanıcılar (Toplam: 1, Üyeler: 1, Misafirler: 0)
Toplam: 1 (üyeler: 1, misafirler: 0)
0 alıntı seçildi