Php ile websiteden veri çekme.

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 web siteden veri çekme işlemi gerçekleştireceğiz.

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

Öncelikle

  1. function getir($baslangic, $son, $cekilmek_istenen)
  2. {
  3. @preg_match_all(‘/’ . preg_quote($baslangic, ‘/’) .
  4. ‘(.*?)’. preg_quote($son, ‘/’).‘/i’, $cekilmek_istenen, $m);
  5. return @$m[1];
  6. }

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 gundem 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

  1. $url = “https://www.teknozone.net/kategori/gundem/”;
  2. $icerik = file_get_contents($url);
  3. $cek = getir(‘rel=”bookmark”>’,‘</a>’,$icerik);

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

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

Örneğin

  1. $url = “https://www.teknozone.net/kategori/gundem/”;
  2. $icerik = file_get_contents($url);
  3. echo($icerik);

Kodunu çalıştırırsak karşımıza https://www.teknozone.net/kategori/gundem/ 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.

  1. function getir($baslangic, $son, $cekilmek_istenen)
  2. {
  3. @preg_match_all(‘/’ . preg_quote($baslangic, ‘/’) .
  4. ‘(.*?)’. preg_quote($son, ‘/’).‘/i’, $cekilmek_istenen, $m);
  5. return @$m[1];
  6. }
  7. $url = “https://www.teknozone.net/kategori/gundem/”;
  8. $icerik = file_get_contents($url);
  9. $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.

Yorumlar

Henüz yorum yapılmamış.