PHP Bot YapA�mA� – Uzak Siteden Veri A�ekmek

Php ile bot yazarken iki yA�ntem kullanA�lA�r bunlardan biri file_get_contents() yA�ntemi, bir diAYeri ise Php CURL yA�ntemidir. A�lk yA�ntem local ortamda A�alA�AYA�r ancak bazen sunucuya attA�AYA�nA�zda A�alA�AYmayabilir o yuzden en saAYlA�klA� yA�ntem CURL yA�ntemidir. Bu makalede CURL ile php bot nasA�l yazA�lA�r ? bundan bahsetmek istiyorum.

Php ile bot yazmak nedir, neden ve nerelerde kullanA�rA�z bundan bahsedelim biraz; sitenizde kullanmak istediAYiniz bir veriyi baAYka bir siteden, sayfadan dinamik olarak A�ekebiliriz. A�rneAYin film sitelerinin birA�oAYo bu iAY iA�in kendi veri tabanA�nA� kullanmaz ve baAYka bir siteden kaynak alarak sayfasA�nA� doldurur ve bu iAYlem sadece metin tA?rA? veriler iA�in deAYil resim dosyalarA�na varana kadar A�ekebilirsiniz.

Azimdi CURL yA�ntemiyle php bot nasA�l yazA�lA�r buna bakalA�m.

A�ncelikle kendimize Curl fonksiyonu oluAYturalA�m.

EAYer bir post verisi gA�nderecekseniz 2. parametreyi a�?kullanici=bilisim34&sifre=123456a�? AYeklinde kullanmanA�z gerekecek.

A�rneAYin :

Bu A�rnek kullanA�mda kendi sitemizin paneline giriAY yapmak iA�in kullanA�cA� adA� ve AYifremizi postlamA�AY olduk. DoAYru bilgileri yazdA�AYA�mA�zda curl fonksiyonu sayesinde PHP A?zerinden panelimize de ulaAYabiliriz.

PHP botu ile belirli iA�erikleri alma

Sitelerin iA�eriklerine direkt olarak ulaAYtA�ktan sonra istediAYimiz kA�sA�mdaki deAYeri ve iA�eriAYi almak iA�in A�ncelikle bir ara belirlemeliyiz. Sitenin kaynak kodunu inceleyip ayA�rt edici bir aralA�k bulmalA�yA�z.

Ben A�rnek bir iA�erik sunacaAYA�m, ve bu A�rnek iA�erikten istediAYimiz kA�smA� alacaAYA�z. Metereoloji sitesinin A�stanbul iA�in verdiAYi sonuA�larA�n bulunduAYu kA�smA�n kaynak kodu aAYaAYA�daki gibi:

A�ok karA�AYA�k bir kaynak kodu gibi gA�rA?nA?yor ama aslA�nda tam bizim aradA�AYA�mA�z gibi bir sonuA�. Farkettiyseniz tA?m deAYerler ayA�rt edilebilecek belli bazA� elementlerin arasA�nda. A�rneAYin tarih class=”sond_zaman”></td> arasA�nda.

Bir iA�erikte istediAYimiz aralA�AYA� almak iA�in yine curl gibi hazA�r bir fonksiyon kullanacaAYA�z. Bu fonksiyonu kopyala-yapA�AYtA�r yaparak sizde kullanabilirsiniz.

Bu parcala_ve_alA� fonksiyonuda basit bir AYekilde aralA�k iA�erisindeki deAYeri bize verir. KullanA�mA� iA�in 3 parametre vardA�r. A�lk parametre aralA�AYA�n baAYA�, ikinci parametre aralA�AYA�n sonu, A?A�A?ncA? parametre ise araAYtA�rA�lacak iA�erik.

Bu A�rnekte sitemizin kaynak kodlarA�na ulaAYA�p <title>a��</title> arasA�nA� yani sitemizin baAYlA�AYA�nA� almA�AY olduk ve ekrana yazdA�rdA�k. DeAYerin yA?klendiAYi deAYiAYkene [0] dememizin sebebi ilk yakalanan aralA�AYA� almamA�z. EAYer benzer aralA�klardan daha fazla var ise onlarA�da dizinin diAYer elemanlarA� olarak ekleyecektir. A�rneAYin birden fazla title aralA�AYA� olsaydA� diAYer sonuA�larda [1], [2] AYeklinde diAYer dizilere sA�ralanacaktA�.

Gelelim bu fonksiyonu bahsettiAYimiz meteroloji sitesinde uygulamaya:

Sitede alt ve A?st sA�caklA�klarA�n bulunduAYu deAYerlerin aralA�AYA�nA� bulup ara fonksiyonumuz sayesinde aralA�AYA� alA�p ekrana yazdA�rdA�k. SonuA� olarak ekrandaA�A�stanbul da 11 KasA�m A�arAYamba iA�in tahmini sA�caklA�k:16,5A�CA� AYeklinde bir A�A�ktA� alacaAYA�z.

KA�saca bot iA�erik alma mantA�AYA� sitelerdeki iA�eriklerin ayA�rt edici aralA�klarA�nA� bulup o kA�smA� almaya dayanmaktadA�r. BunlarA�n dA�AYA�nda hayal gA?cA?nA?zA? kullanarak daha bir A�ok mantA�k A?retebilir ve her tA?rlA? iA�eriAYe ulaAYA�p dilediAYiniz botlarA� kodlayabilirsiniz.

Bir Cevap Yazın

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