php ile sitenin kaynak kodunda kelime nasıl aratılabilinir ?
php ile sitenin kaynak kodunu aldığımızda bir kelime varmı yokmu nasıl kontrol edebiliriz ?
ben biraz uğraştım fakat sitenin altlarında olan kelimenin çıktısını alamadım ?
sitenin başında olunca kelimeleri aratıp çıktısını alabiliyoruz fakat altlarında olunca alamıyoruz ?
ilgili işlemleri nasıl yapabiliriz ?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (6)
PHP 5.6 sürümünde file_get_contents()
fonksiyonuyla HTTPS üzerinden kaynak kodunu almak bazen sorunlara neden olabilir. Bu nedenle, alternatif bir yöntem kullanmanız gerekebilir. İşte CURL kütüphanesini kullanarak PHP 5.6 sürümünde kaynak kodunu almanın bir örneği:
// URL'yi belirtin
$url = 'http://www.example.com';
// CURL örneği oluşturun
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
// Kaynak kodunu alın
$sourceCode = curl_exec($curl);
// CURL işlemini kapatın
curl_close($curl);
// Kontrol etmek istediğiniz kelimeyi belirtin
$keyword = 'kelime';
// strpos() fonksiyonunu kullanarak kelimenin konumunu bulun
if (strpos($sourceCode, $keyword) !== false) {
echo "Kelime mevcut";
} else {
echo "Kelime mevcut değil";
}
Bu kod, CURL kütüphanesini kullanarak belirtilen URL'den kaynak kodunu alır ve ardından belirtilen kelimenin var olup olmadığını kontrol eder. Sonrasında, ilgili mesajı ekrana yazdırır.
PHP 5.6 sürümünde file_get_contents()
fonksiyonunun HTTPS üzerinden kaynak kodunu almakta sorun yaşadığınızı belirttiğiniz için CURL kütüphanesini kullanarak alternatif bir yöntem sundum. CURL, HTTP ve HTTPS gibi protokoller üzerinden veri alışverişi yapmak için kullanılan bir kütüphanedir ve PHP'nin eski sürümlerinde de yaygın olarak kullanılmaktadır.
Umarım bu örnek size yardımcı olur! Başka bir sorunuz olursa buradayım.
Aşağıdaki kodu denediğimde hedef sitede aradığım bir kelimenin varlığını kontrol edebiliyorum. Muhtemelen işini göreceğini tahmin ediyorum, deneyebilir misin :)?
Eğer kod çalışmadıysa veri çekmeye çalıştığın web sitesinin bağlantısını gönderebilirsen yardımcı olmaya çalışayım.
$url = 'https://www.hurriyet.com.tr/';
$contents = file_get_contents($url);
if ($contents === false) {
die('İçerik alınamadı');
}
$keyword = "Dolar Kuru";
// Düzenli ifadeyle arama yapma (büyük-küçük harf duyarlı olmayan arama)
$pattern = '/\b' . preg_quote($keyword, '/') . '\b/i';
if (preg_match($pattern, $contents)) {
echo "Kelime bulundu!";
} else {
echo "Kelime bulunamadı!";
}
bahsettiğiniz yazılım site içeriklerindeki dosyaları tarıyor.
uzak bir sitenin içeriklerini nasıl alabiliriz ?
mesela trabzonspor diye bir site olsun bu sitenin içeriğinde ;
<galatasaray>fenerbahçe</galatasaray>
yukarıdaki html tagını ilgili trabzonspor sitesinin içeriğinden nasıl alabiliriz ?
- Dosya Adı
- Satır Numarası
- Satırdaki tüm kod
Dosya içeriklerini tarayıp gösteriyor ancak alt klasörlere erişemiyor.
<?php
// ----- Aranacak Değer Değişkeni
$searchContent = "ARANACAK VERİ";
// -----
$files = glob("*");
foreach($files as $len => $file){
$content = file_get_contents($file);
$render = explode("\n",$content);
foreach($render as $len2 => $ren){
if(stripos($ren,$searchContent) !== false){
$num = $len2+1;
echo "\n\n-----\n";
echo "Dosya Adı: ".$file."\n";
echo "Satır Numarası: ".$num."\n";
echo "KOD: ".$ren."\n";
}
}
}
?>