Playwright ile JavaScript Kullanarak Veri Çekme Yöntemleri

0 الردود 1 المشاهدات
·
المشاركون
صاحب الموضوع #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:
كود
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:

كود
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:
كود
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:
كود
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.

يجب تسجيل الدخول للرد.

المستخدمون الذين يشاهدون هذا الموضوع (الإجمالي: 5, الأعضاء: 5, الضيوف: 0)
الإجمالي: 5 (الأعضاء: 5, الضيوف: 0)
0 اقتباسات محددة