PhpYazılım

Php ile Websiteden Veri Çekme

Php ile veri çekme işlemi oldukça kolaydır. İki yöntem ile istediğiniz siteden veri çekebilirsiniz.

Bu yöntemler file_gets_contents() kullanmak veya CURL kullanmaktır. Bu yazımızda file_gets_contents() fonksiyonu kullanarak php ile websiteden veri çekme işlemi gerçekleştireceğiz.

Size vereceğimiz fonksiyonu kullanarak çok rahat bir biçimde istediğiniz sitedeki verileri çekebilirsiniz.

Öncelikle

function getir($baslangic, $son, $cekilmek_istenen)
{
@preg_match_all('/' . preg_quote($baslangic, '/') .
'(.*?)'. preg_quote($son, '/').'/i', $cekilmek_istenen, $m);
return @$m[1];
}

Fonksiyonumuzu yazıyoruz. Bu fonksiyon ile belirlediğimiz sayfadaki, belirlediğimiz yerleri çekebileceğiz. Fonksiyon parametre olarak 3 değer alıyor. Başlangıç, bitiş ve çekilmek istenen site.

Bizim yapacağımız örnekte sitemizde yer alan Python kategorisinde bulunan başlıkları çekeceğiz. Başlıkların yerini bulabilmek için faremiz ile başlığa sağ tıklayarak incele diyoruz. Karşımıza çıkan pencerede başlığımızın rel=”bookmark”> ve </a> etiketlerinin arasında yer aldığını görüyoruz. Başlangıç ve bitiş parametrelerimize bu değerleri yazıyoruz.

Ardından

$url = "https://www.yazilimaktif.com/python/";
$icerik = file_get_contents($url);
$cek = getir('rel="bookmark">','</a>',$icerik);

Veri çekmek istediğimiz sitenin url’sini belirliyoruz.

file_get_contents() fonksiyonu paramatre olarak verdiğimiz url’deki veriyi döndürür.

Örneğin

$url = "https://www.yazilimaktif.com/python/";
$icerik = file_get_contents($url);
echo($icerik);

Kodunu çalıştırırsak karşımıza www.yazilimaktif.com/python/ sayfasının aynısı çıkacaktır.

cek değişkeni bir dizidir (array). Dizinin elemanlarını görüntülemek için print_r($cek) diyoruz.



Kodumuzu birleştirecek olursak.

function getir($baslangic, $son, $cekilmek_istenen)
{
@preg_match_all('/' . preg_quote($baslangic, '/') .
'(.*?)'. preg_quote($son, '/').'/i', $cekilmek_istenen, $m);
return @$m[1];
}

$url = "https://www.yazilimaktif.com/python/";
$icerik = file_get_contents($url);
$cek = getir('rel="bookmark">','</a>',$icerik);

Verilen kodlar üzerinden url kısmını ve getir() fonksiyonunun parametrelerini değiştirerek istediğiniz siteden verileri çok rahat çekebilirsiniz.

İlgili Makaleler

2 Yorum

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu
Kapalı