merhaba arkadaşlar
web sitemde Balıkesir'in günlük hava durumunu göstermek istiyorum. Ama o klasik hava durumu resmi ile değilde daha çok yazı olarak.
http://www.meteor.gov.tr/tahmin/il-v...px?m=BALIKESIR
sayfasındaki bilgileri bir bot yazarak çektim.
ama her seferinde bot o verileri çekerken siteyi yavaşlattı. Bunun daha kolay bi yöntemi var mı arkadaşlar? ya da bu hizmeti veren başka bir site?
not: çözüm asp olabilir
Hava Durumu Göstermek
5
●3.959
- 04-09-2010, 18:42:35
- 04-09-2010, 20:10:14çok basit,
kullandığınız scripte bağımsız bir kod yazarsınız,bu kod hava durumunu xml dosyası olarak kaydeder,cronjob ile bu yazdığnız kodu belirli aralıklara okutursunuz,kullandığınız scriptede xml dosyasını okutursunuz.
Aşağıdaki kodu sizin için yazdım
Not: Dosyaları Notepad++ ile UTF8 olarak kaydetmezseniz türkçe karakter sorunu oluşur.
havadurumuyazdir.php (cronjob a eklenecek dosya)
<?php $html = file_get_contents('http://www.meteor.gov.tr/tahmin/il-ve-ilceler.aspx?m=BALIKESIR'); $dom = new DOMDocument(); $dom->loadHTML($html); $sicaklik = $dom->getElementById('ctl00_mpBody_pSonDurumSicaklik'); $nem = $dom->getElementById('ctl00_mpBody_pSonDurumNem'); $basinc = $dom->getElementById('ctl00_mpBody_pSonDurumBasinc'); $gorus = $dom->getElementById('ctl00_mpBody_pSonDurumGorus'); $doc = new DOMDocument(); $doc->formatOutput = true; $r = $doc->createElement( "havadurumu" ); $doc->appendChild( $r ); $b = $doc->createElement( "bursa" ); $sicaklikc = $doc->createElement( "sicaklik" ); $sicaklikc->appendChild( $doc->createTextNode( $sicaklik->textContent ) ); $b->appendChild( $sicaklikc ); $nemc = $doc->createElement( "nem" ); $nemc->appendChild( $doc->createTextNode( $nem->textContent ) ); $b->appendChild( $nemc ); $basin = $doc->createElement( "basinc" ); $basin->appendChild( $doc->createTextNode( $basinc->textContent ) ); $b->appendChild( $basin ); $r->appendChild( $b ); echo $doc->saveXML(); $doc->save("havadurumu.xml") ?>havadurumunu xml dosyasından okutacak php kodları
<?php $doc = new DOMDocument(); $doc->load( 'havadurumu.xml' ); $havadurumu = $doc->getElementsByTagName( "havadurumu" ); foreach( $havadurumu as $bursa ) { $sicaklikc = $bursa->getElementsByTagName( "sicaklik" ); $sicaklik = $sicaklikc->item(0)->nodeValue; $nemc= $bursa->getElementsByTagName( "nem" ); $nem= $nemc->item(0)->nodeValue; $basincc = $bursa->getElementsByTagName( "basinc" ); $basinc = $basincc->item(0)->nodeValue; echo "<b>$sicaklik - $nem - $basinc\n</b><br>"; } ?>bunların yaninada havadurumu.xml diye bir dosya oluşturun. - 05-09-2010, 01:31:46http://www.erguner.net/php/fonksiyon...le-hava-durumu
burada anlatmıştım. Google dan alıyor verileri. basit ve kullanımı kolay.
ama o siteye bağlanmak gerektiği için sitemi kasıyor