• 12-09-2009, 22:33:10
    #1
    Merhaba arkadaşlar, basit bir bot hazırlamaya çalışıyorum kendi çapımda. İstediğim sayfadan verileri çekebiliyorum. Şimdi sorumu şöyle açıklamaya çalışayım;

    Sanatçı Adı - Şarkının Adı şeklinde verim geliyor. Ancak ben sanatçı adı ve şarkının adını veri tabanımda ayrı alanlara kaydetmek istiyorum. Sanatçı adı veya şarkı adı sabit karakterlerde değil tabiki, buda benim acemi kafamı oldukça karıştırdı. Yani öyle bir kod yazmalıyım ki -'den öncesini ve -'den sonrasını bana versin. Umarım anlatabilmişimdir, şimdiden teşekkür ederim...
  • 12-09-2009, 22:43:02
    #2
    Sanırım tek bir düzenli ifade kullanıyorsun. Bu tür durumlarda explode kullanabilirsin.Yani gelen veride - işaretinden sonra parçalama yapabilirsin aşağıdaki kod örnek verdim.Hoşcakal.

    $veri = explode("-",$gelenveri);
    print_r($veri);
    Parçalama işlemi bu şekilde.
  • 12-09-2009, 22:59:28
    #3
    Teşekkürler inceliyorum..
  • 12-09-2009, 23:00:59
    #4
    ragex ya da dom parser de kullanabilirsin.
  • 13-09-2009, 00:07:31
    #5
    İşe yaramadı, çünkü sitenin hemen hemen yarısını aldı bu şekilde
    Kullandığım Kod :
    <?php
    $sanatciadicek = file_get_contents("http://www.siteadresi.com/indir.php?id=12345");
    preg_match_all('#<h2>(.*?)</h2>#s',$sanatciadicek,$sanatciadigeldi);
    ?>
    Sayfadaki Sanatçı Adı : <?=$sanatciadigeldi[1][0]?>
    Ekran Çıktısı :
    Sayfadaki Sanatçı Adı : Güçlü Soydemir - Vuramam Sana

    Ama Ben İstiyorum Ki;
    Sayfadaki Sanatçı Adı : Güçlü Soydemir

    olsun...
  • 13-09-2009, 00:49:48
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    NeFuSa adlı üyeden alıntı: mesajı görüntüle
    İşe yaramadı, çünkü sitenin hemen hemen yarısını aldı bu şekilde
    Kullandığım Kod :
    <?php
    $sanatciadicek = file_get_contents("http://www.siteadresi.com/indir.php?id=12345");
    preg_match_all('#<h2>(.*?)</h2>#s',$sanatciadicek,$sanatciadigeldi);
    ?>
    Sayfadaki Sanatçı Adı : <?=$sanatciadigeldi[1][0]?>
    Ekran Çıktısı :
    Sayfadaki Sanatçı Adı : Güçlü Soydemir - Vuramam Sana
    Ama Ben İstiyorum Ki;
    Sayfadaki Sanatçı Adı : Güçlü Soydemir
    olsun...
    Arkadaşım kullanılışını anlayabilesin diye basitçe bir diziye attım:
    <?php
    preg_match_all('/<h2\>([^\-]*?)-([^\-]*?)<\/h2\>/smi',$sanatciadicek, $al);
    $dizi['sanatci']= $al[1];
    $dizi['sarki']= $al[2];
    for($i =0;$i<count($dizi['sanatci']);$i++){
    echo 'sanatçı:'.$dizi['sanatci'][$i].' Şarkı:'.$dizi['sarki'][$i]."<br>\r\n";
    }
    ?>
  • 13-09-2009, 00:54:27
    #7
    Teşekkür ederim arkadaşım, sayfada şarkı adını ayrı bir alana yazdırıyormuş site sahibi. Oradan preg_match_all ile aldım.