Mövzunu Açan
#0
Geliştiriciler için web scraping, özellikle kripto para fiyatlarını takip etmek gibi dinamik verileri toplamak için son derece faydalı bir tekniktir. Ancak, birçok web sitesi, kullanıcıların botlar aracılığıyla veri çekmesini önlemek için çeşitli kısıtlamalar uygular. Bu yazıda, Cheerio ve Axios kütüphanelerini kullanarak session düşmesi kısıtlamalarını aşma yöntemlerinden birini inceleyeceğiz.
Öncelikle, Axios HTTP istekleri yapmak için kullanılan popüler bir kütüphanedir. Cheerio ise, jQuery benzeri bir API ile HTML içeriğini manipüle etmemizi sağlar. Bu iki kütüphaneyi bir araya getirerek, dinamik web sitelerinden veri çekebiliriz.
1. Axios Interceptor Kullanımı
Axios interceptor, istek ve yanıtları yakalayarak bunlar üzerinde işlem yapmamıza olanak tanır. Örneğin, session token'larını otomatik olarak eklemek için bir interceptor tanımlayabiliriz. Aşağıda temel bir interceptor örneği bulunmaktadır:
Bu kod parçası, her istekte
2. Cheerio ile Veri Çekimi
Cheerio kullanarak, alınan HTML yanıtını analiz edebiliriz. Örneğin, bir kripto para borsasından fiyat bilgisini çekmek için şu şekilde bir kullanım yapabiliriz:
Bu kod, belirttiğimiz URL’den fiyat bilgisini alır ve konsola yazdırır. Cheerio, HTML içeriğini jQuery benzeri bir şekilde sorgulamamıza olanak sağlar.
3. Session Yönetimi
Oturum yönetimi, botların sürekliliği için kritik öneme sahiptir. Web siteleri genellikle belirli bir süre sonra session’ı sonlandırır. Bu durumda, yeni bir session başlatmak için kullanıcı giriş bilgilerini kullanarak otomatik bir işlem gerçekleştirebiliriz. Giriş için gerekli istekleri Axios ile yaparak, elde edilen session token’ı saklayabiliriz.
Sonuç olarak, Cheerio ve Axios kullanarak bir kripto fiyat takip botu geliştirmek, session düşmesi kısıtlamalarını aşmak için etkili bir yöntemdir. Bu yöntem sayesinde sürekli veri akışı sağlanabilir, böylece kripto para piyasasında daha güncel ve doğru verilere ulaşabilirsiniz.
Bu yazıda bahsedilen yöntemler ve kod yapıları hakkında daha fazla bilgi almak isteyenler için, örnek projeler ve detaylı açıklamalar paylaşılabilir.
Öncelikle, Axios HTTP istekleri yapmak için kullanılan popüler bir kütüphanedir. Cheerio ise, jQuery benzeri bir API ile HTML içeriğini manipüle etmemizi sağlar. Bu iki kütüphaneyi bir araya getirerek, dinamik web sitelerinden veri çekebiliriz.
1. Axios Interceptor Kullanımı
Axios interceptor, istek ve yanıtları yakalayarak bunlar üzerinde işlem yapmamıza olanak tanır. Örneğin, session token'larını otomatik olarak eklemek için bir interceptor tanımlayabiliriz. Aşağıda temel bir interceptor örneği bulunmaktadır:
CODE
1234axios.interceptors.request.use(config => {
config.headers['Authorization'] = `Bearer ${sessionToken}`;
return config;
});Bu kod parçası, her istekte
Authorization başlığına session token ekler. Böylece, oturum düşmesi kısıtlamalarını aşarak sürekli veri çekimi yapabiliriz.2. Cheerio ile Veri Çekimi
Cheerio kullanarak, alınan HTML yanıtını analiz edebiliriz. Örneğin, bir kripto para borsasından fiyat bilgisini çekmek için şu şekilde bir kullanım yapabiliriz:
CODE
123456axios.get('https://example-crypto-exchange.com')
.then(response => {
const $ = cheerio.load(response.data);
const price = $('.price-selector').text();
console.log(`Current Price: ${price}`);
});Bu kod, belirttiğimiz URL’den fiyat bilgisini alır ve konsola yazdırır. Cheerio, HTML içeriğini jQuery benzeri bir şekilde sorgulamamıza olanak sağlar.
3. Session Yönetimi
Oturum yönetimi, botların sürekliliği için kritik öneme sahiptir. Web siteleri genellikle belirli bir süre sonra session’ı sonlandırır. Bu durumda, yeni bir session başlatmak için kullanıcı giriş bilgilerini kullanarak otomatik bir işlem gerçekleştirebiliriz. Giriş için gerekli istekleri Axios ile yaparak, elde edilen session token’ı saklayabiliriz.
Sonuç olarak, Cheerio ve Axios kullanarak bir kripto fiyat takip botu geliştirmek, session düşmesi kısıtlamalarını aşmak için etkili bir yöntemdir. Bu yöntem sayesinde sürekli veri akışı sağlanabilir, böylece kripto para piyasasında daha güncel ve doğru verilere ulaşabilirsiniz.
Bu yazıda bahsedilen yöntemler ve kod yapıları hakkında daha fazla bilgi almak isteyenler için, örnek projeler ve detaylı açıklamalar paylaşılabilir.