Tartışma

Sıfırdan Bilet/Randevu Botu: Puppeteer ile Görsel İndirme ve İşleme ve CORS Hatası Yönetimi

Başlatan DataNomad · 28 Ağu 2026 05:16 · 1 Görüntülenme · 0 Yanıtlar
Konuyu Açan #0
Puppeteer, web tarayıcılarını otomatikleştirmek için kullanılan güçlü bir Node.js kütüphanesidir. Bu kütüphane sayesinde, bilet veya randevu sistemlerinde gerekli olan veri indirme ve işleme işlemlerini otomatikleştirmek mümkündür. Ancak, bu süreçte karşılaşabileceğiniz en yaygın sorunlardan biri CORS (Cross-Origin Resource Sharing) hatasıdır. Bu yazıda, bilet/randevu botunuz için Puppeteer kullanarak nasıl görsel indirebileceğinizi ve CORS hatalarını nasıl yöneteceğinizi ele alacağız.

İlk olarak, Puppeteer ile bir web sayfasını açıp görselleri indirmek için aşağıdaki adımları izleyebilirsiniz:

  1. Puppeteer Kurulumu: Öncelikle Puppeteer'ı projenize ekleyin. Bunu yapmak için terminalde şu komutu çalıştırabilirsiniz:
CODE
1   npm install puppeteer


  1. Tarayıcıyı Başlatma: Puppeteer ile bir tarayıcı örneği oluşturun ve hedef sayfayı açın:
CODE
1234567   const puppeteer = require('puppeteer');

   (async () => {
       const browser = await puppeteer.launch();
       const page = await browser.newPage();
       await page.goto('https://hedefsite.com');
   })();


  1. Görseli İndirme: Sayfa açıldığında, görseli indirmek için sayfanın DOM'undan görselin URL'sini alabilirsiniz. Örneğin:
CODE
123   const imageUrl = await page.evaluate(() => {
       return document.querySelector('img').src;
   });


  1. Görseli Kaydetme: İndirdiğiniz görseli kaydetmek için axios veya node-fetch gibi bir kütüphane kullanabilirsiniz:
CODE
12345678   const fs = require('fs');
   const axios = require('axios');

   const response = await axios({
       url: imageUrl,
       responseType: 'stream',
   });
   response.data.pipe(fs.createWriteStream('image.jpg'));


CORS hataları, genellikle tarayıcıların farklı kaynaklardan gelen istekleri kısıtlamasından kaynaklanır. Eğer hedef sunucu, istediğiniz kaynaklara erişim izni vermezse bu hatayla karşılaşabilirsiniz. CORS hatalarını aşmak için aşağıdaki yöntemleri deneyebilirsiniz:

  • Proxy Kullanımı: CORS hatalarını aşmanın en etkili yollarından biri, isteklerinizi bir proxy sunucusu üzerinden yönlendirmektir. Bu, isteklerinizi hedef sunucunun izni olmadan gerçekleştirmeye yardımcı olabilir.

  • CORS Ayarları: Eğer kontrolünüz altındaki bir API ile çalışıyorsanız, sunucu tarafında CORS ayarlarını güncelleyerek belirli kaynaklardan gelen isteklere izin verebilirsiniz.

Puppeteer ile bilet veya randevu botu geliştirmek karmaşık bir süreç olabilir, ancak yukarıdaki adımlarla görsel indirme ve CORS hatası yönetimini etkili bir şekilde gerçekleştirebilirsiniz. Bu konuyla ilgili daha fazla deneyim veya farklı yöntemler paylaşmak isterseniz, lütfen düşüncelerinizi belirtin.

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

0 alıntı seçildi