Playwright ile JavaScript Kullanarak Veri Çekme Yöntemleri

0 Replies 1 Views
·
Participants
Thread Starter #1
Giriş ve Temel Kavramlar
Playwright, Microsoft tarafından geliştirilmiş modern ve güçlü bir otomasyon kütüphanesidir. Özellikle web sayfalarından veri çekme (web scraping) veya test otomasyonu gibi alanlarda sıkça tercih edilir. Playwright, tarayıcılar üzerinde doğrudan kontrol sağlar ve JavaScript tabanlı sayfalardan dinamik içerik çekmek için idealdir. Bu noktada, Playwright ile JavaScript kullanarak veri çekme sürecinde temel adımlar, sayfa yükleme, DOM elementleriyle etkileşim ve içeriklerin alınmasıdır.

Kurulum ve Temel Kullanım
İlk olarak, Playwright'ı npm üzerinden kurmak gerekir:
CODE
1npm install playwright

Ardından, temel bir örnekle başlayalım: Bir sayfayı açıp, belirli bir elementin içeriğini almak.
Örneğin, bir haber sitesinden başlıkları çekmek istiyorsanız, sayfayı yükledikten sonra DOM'daki elementleri kullanmalısınız.

Veri Çekme Süreci ve Teknikler
  1. Sayfa açma ve DOM'a erişim:

CODE
12345678910const { chromium } = require('playwright');  
(async () => {  
  const browser = await chromium.launch();  
  const page = await browser.newPage();  
  await page.goto('https://example.com');  
  // Elementleri seç ve içeriği al  
  const titles = await page.$$eval('h2', elements => elements.map(el => el.textContent.trim()));  
  console.log(titles);  
  await browser.close();  
})();

Burada, $$eval fonksiyonu, seçilen elementlerin içeriklerini dizi halinde almanızı sağlar. Bu, özellikle liste veya tablodaki verileri toplamakta etkilidir.

  1. Dinamik içerik ve JavaScript çalıştırma

Playwright, sayfa yüklendikten sonra JavaScript'in çalışmasını sağlar. Bu yüzden, bazı durumlarda waitForSelector veya waitForLoadState ile belirli DOM elementlerinin oluşmasını beklemek gerekebilir.
Örneğin:
CODE
1await page.waitForSelector('.article-title');

  1. Sayfadan JSON veya API verisi yakalama

Eğer veri API çağrılarıyla yükleniyorsa, network trafiğini yakalayarak doğrudan JSON verisini elde edebilirsiniz.
Örnek:
CODE
123456page.on('response', async response => {  
  if (response.url().includes('/api/data')) {  
    const data = await response.json();  
    console.log(data);  
  }  
});


Sonuç ve Güvenlik Notları
Playwright ile JavaScript kullanarak veri çekmek, özellikle dinamik içeriklerin hızlı ve etkili bir şekilde alınmasını sağlar. Ancak, hedef sitenin kullanım şartlarına ve yasalara dikkat edilmelidir. Ayrıca, aşırı istek göndermemek ve sayfa yapısındaki değişikliklere karşı kodunuzu güncel tutmak önemlidir.

Bu bilgiler ışığında, Playwright ile JavaScript tabanlı veri çekme projelerinizde sağlam ve sürdürülebilir otomasyonlar geliştirebilirsiniz.

You must be logged in to reply.

Users who are viewing this thread (Total: 5, Members: 5, Guests: 0)
Total: 5 (members: 5, guests: 0)
0 quotes selected