<?php
// Gerekli kütüphaneleri dahil edin
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
// Excel dosyası oluştur
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
// Excel başlıklarını ekleyin
$sheet->setCellValue('A1', 'İsim Soyisim');
$sheet->setCellValue('B1', 'Unvan');
$sheet->setCellValue('C1', 'Adres');
$sheet->setCellValue('D1', 'Telefon');
$row = 2; // Verilerin yazılacağı satır sayısı (ilk satır başlıklar için kullanıldı)
// Sayfa sayısı (sayfa 1'den 32'ye kadar olan sayfaları ziyaret edeceğiz)
for ($i = 1; $i <= 32; $i++) {
// URL'yi oluştur
$url = 'https://www.rumelisiad.org.tr/icerik/uyeler?sayfa=' . $i . '&ara=&harf=';
// URL'den HTML verisini çek
$htmlContent = file_get_contents($url);
if ($htmlContent === FALSE) {
echo "URL'den veri alınamadı: $url\n";
continue;
}
// DOMDocument kullanarak HTML'yi parse et
$dom = new DOMDocument;
libxml_use_internal_errors(true); // HTML hatalarını yoksaymak için
$dom->loadHTML($htmlContent);
libxml_clear_errors();
// XPath ile belirli div'leri seçelim
$xpath = new DOMXPath($dom);
$divs = $xpath->query('//div[contains(@class, "team-info-text px-1")]');
// Her bir div için bilgileri çekip Excel'e yazalım
foreach ($divs as $div) {
// İsim Soyisim
$nameNode = $xpath->query('.//h2', $div);
$name = $nameNode->length > 0 ? $nameNode->item(0)->textContent : '';
// Unvan
$unvanNode = $xpath->query('.//span[contains(@class, "fw-bolder")]', $div);
$unvan = $unvanNode->length > 0 ? $unvanNode->item(0)->textContent : '';
// Adres
$addressNode = $xpath->query('.//address', $div);
$address = $addressNode->length > 0 ? $addressNode->item(0)->textContent : '';
// Telefon
$phoneNode = $xpath->query('.//a[contains(@href, "tel:")]/address', $div);
$phone = $phoneNode->length > 0 ? $phoneNode->item(0)->textContent : '';
// Verileri Excel'e yaz
$sheet->setCellValue('A' . $row, trim($name));
$sheet->setCellValue('B' . $row, trim($unvan));
$sheet->setCellValue('C' . $row, trim($address));
$sheet->setCellValue('D' . $row, trim($phone));
$row++; // Sonraki satıra geç
}
}
// Excel dosyasını kaydet
$writer = new Xlsx($spreadsheet);
$filename = 'uyeler.xlsx';
$writer->save($filename);
echo "Excel dosyası başarıyla oluşturuldu: $filename\n";
?>