• 07-02-2019, 18:06:56
    #1
    Arkadaşlar ,

    Acemice kendime bir siteden veri çekmeye çalışıyorum. Ancak sanırım parçalama işlemim de sorun var.

    Parçala6 daki scored alanını yazdıramıyorum. Bana yardımcı olabilir misiniz ?

    <?php
    set_time_limit(0);
    $link= "http://istatistik.nesine.com/LeagueTable/DataRouter.aspx?sportId=1&countryId=12&tournamentId=1&gridType=LeagueTable&detailType=General&groupingId=-1&homeTeamId=&awayTeamId=&stageId=undefined&languageId=1";
    $parcala="@<div class='posNormal'>(.*?)</div>@si";
    $parcala1= "@target=\"_blank\">(.*?)</a>@si";
    $parcala2= "@<div class='generalPointValues'>
                                <div class=\"played\">(.*?)</div>@si";
    $parcala3="@<div class='generalPointValues'>
                                <div class=\"played\">(.*?)</div>
                                <div class=\"wins\">(.*?)</div>@si";
    
    $parcala4="@<div class='generalPointValues'>
                                <div class=\"played\">(.*?)</div>
                                <div class=\"wins\">(.*?)</div>
                                <div class=\"draws\">(.*?)</div>@si";
    
    $parcala5="@<div class='generalPointValues'>
                                <div class=\"played\">(.*?)</div>
                                <div class=\"wins\">(.*?)</div>
                                <div class=\"draws\">(.*?)</div>
                                <div class=\"loses\">(.*?)</div>@si";
    
    $parcala6="@<div class='generalPointValues'>
                                <div class=\"played\">(.*?)</div>
                                <div class=\"wins\">(.*?)</div>
                                <div class=\"draws\">(.*?)</div>
                                <div class=\"loses\">(.*?)</div></br></br>
    
    
                                        <div class=\"scored\">(.*?)</div>@si";
    
    
    $botara= file_get_contents($link);
    
    preg_match_all($parcala,$botara,$posNormal);
    preg_match_all($parcala1,$botara,$team);
    preg_match_all($parcala2,$botara,$played);
    preg_match_all($parcala3,$botara,$wins);
    preg_match_all($parcala4,$botara,$draws);
    preg_match_all($parcala5,$botara,$loses);
    preg_match_all($parcala6,$botara,$scored);
    
        echo "<pre>";
        	print_r($scored);
        echo "<pre>";
    
    
    
    
    ?>
  • 07-02-2019, 18:18:28
    #2
    preg yerine html parse modülleri kullanırsanız daha rahat edersiniz. ille de php kullanıcam derseniz satır başlarındaki ve sonlarındaki tab, boşluk karakterlerini silerseniz veya onları da capture ederseniz daha kolay olur

    @<div class="played">(.*?)</div>[nrs]+<div class="wins">(.*?)</div>[nrs]+<div class="draws">(.*?)</div>[nrs]+<div class="loses">(.*?)</div>[nrs]+<div class="scored">(.*?)</div>@si
    şunu deneyin
  • 07-02-2019, 18:20:12
    #3
    Hocam
    Php de şu anda anca bu kadarını öğrenebildim. Bununla devam etmek isiyorum.
    Cevap için teşekkür ederim.
  • 07-02-2019, 18:27:14
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    </br></br> sizmi eklediniz? kaynak kod öyle birşey yok
  • 07-02-2019, 18:31:41
    #5
    evet scored da </br></br> yok onları kaldırırsan düzgün çalışır gibi duruyor
  • 08-02-2019, 12:38:45
    #6
    Merhaba arkadaşlar ,

    Sorunumu çözdüm. Herkes'e teşekkür ederim.