url veri grabing

2 Cevap

i have a task - i must grab some data from the URL. the link is http://cba.am. the data, i want to take, are in the some table, and i have the only one identifier, to reach my wanted data, it's the word "usd", which writes in that table(html)! i've written the following script, and it works! but i never heard how more experienced programers do such things, so i want to hear your comments.


Burada script

<?php
    $str = file_get_contents("http://cba.am/");
    $key_usd = "USD";
    $sourse_usd_1 = explode($key_usd,$str);
    $usd1 = $sourse_usd_1[2];
    $sourse_usd_2=explode(">",$usd1);
    $usd2 = $sourse_usd_2[4];
    $sourse_usd_3=explode("<",$usd2);
    $usd = $sourse_usd_3[0];
?>

fakir ingilizce :) için üzgünüm

2 Cevap

Peki, sürece yaklaşım sizin için çalışıyor (ve bunu kullanmak için sana sorun yok) gibi, gayet iyi. Bu teknik, "kazıma" olarak adlandırılır. Onlar, onların sitenin yapısını değiştirmek, örneğin HTML etiketleri veya konumlarını değiştirmek, script kıracak ve karar verirseniz Ancak, bunu güncellemek zorunda kalır. (Daha iyi sayılar mantıklı yoksa algılamak için yerinde bir mekanizma var, bu yüzden uyardı olabilir.)

Çok daha iyi ve temiz bir yol (bu durumda, merkez bankası) onlara sahip olmak, örneğin, tanımlanmış bir formda verileri yayımlamak istiyorum erişebileceğiniz bir Web hizmeti, RSS veya XML çıkışı olarak.

Ben geçmişte bu için cURL kullanmış, bu konuda daha fazla okumak isteyen olabilir.

Hatırlanması gereken bir önemli nokta eğer mümkünse, gerçekten yerine bir web sayfası scape çalışırken (örneğin REST Web hizmeti gibi) iyi tanımlanmış bir API sorgulamak gerekir olmasıdır. Bir web sayfasındaki veri biçimi, herhangi bir zamanda değişebilir, çünkü bu, ancak bir API daha istikrarlı olacak ve kod şey size veri çekerek sitesinde değiştirilirse kırmak için daha az eğilimli olacaktır.