• 06-12-2018, 09:25:32
    #1
    Merhabalar,

    Ödev gereği twitterda istanbul hakkında tweet atanları php olarak yazdrmam gerekiyor. Normal olarak yazdırabiliyorum ama daha önce gösterilen tweetleri göstermemem gerekiyor. Bende tweet idlerini txtye yazdırdım ve ordan kontrol ederek txtde yazan idlerin yayınlanmasını istemiyorum bu konuda yardımcı olabilecek var mı?

    <?php
       function getir($baslangic, $son, $cekilmek_istenen)
       {
           @preg_match_all('/' . preg_quote($baslangic, '/') .
           '(.*?)'. preg_quote($son, '/').'/i', $cekilmek_istenen, $m);
           return @$m[1];
       }
       
       $url = "https://twitter.com/search?f=tweets&vertical=default&q=istanbul";
       $icerik = file_get_contents($url);
       $zaman = getir('profile-tweet-action-reply-count-aria-','">',$icerik);
       
       
       ?>
    <html>
       <body>
          <?php
             $i = 0;
             
             foreach($zaman as $tweetid)
             	{
             $metin = $tweetid."\n";
             $dosyaismi = "istanbul.txt";
             file_put_contents($dosyaismi, $metin, FILE_APPEND);
             ?>
          <blockquote class="twitter-tweet" data-lang="tr"><a href="https://twitter.com/twitter/status/<?php print_r($tweetid);?>"></blockquote>
          <?php
             $i++;
             }
             ?>
          <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
       </body>
    </html>
  • 06-12-2018, 09:39:20
    #2
    Sayfayı yenilediğiniz zaman mı orada en son gelen tweetlerin mi tekrar gözükmesin istiyorsunuz ?
  • 06-12-2018, 09:42:47
    #3
    GundogduYakici adlı üyeden alıntı: mesajı görüntüle
    Sayfayı yenilediğiniz zaman mı orada en son gelen tweetlerin mi tekrar gözükmesin istiyorsunuz ?
    Hocam şöyle ki son 40 tweeti alıyorum düzenli olarak mesela o 40 tweeti listeliyorum bu tweetlerin idlerini yazdırıyorum txtye. 10 saniye sonra yenilediğimde 40 tweet atılmadığı için örnek veriyorum yeni 5 tweet geliyor. Ben bu 5 tweetin görünmesini istiyorum. Böyle olunca kalan 35 tanesini txtde olduğu için kural gereği gelmemesi gerekiyor.
  • 06-12-2018, 09:56:41
    #4
    Twitter API kullanabilirsin. Böyle daha sağlıklı sonuçlar alabilirsin.
  • 06-12-2018, 10:00:13
    #5
    burak2yilmaz adlı üyeden alıntı: mesajı görüntüle
    Twitter API kullanabilirsin. Böyle daha sağlıklı sonuçlar alabilirsin.
    Apiye ihtiyacım yok ki hocam. Login olmadan çekebildiğim basit bi veri var ve sadece buraya kural ekleyemedim o kadar. Apide bundan daha fazla uğraşacağım kesinlikle.
  • 06-12-2018, 10:02:11
    #6
    Foreach içine bir foreach daha ekleyin orada txt'de olan id'leri if ile sorgulayın aynısı listede varsa yazdırmasın
  • 06-12-2018, 10:18:18
    #7
    <?php
       function getir($baslangic, $son, $cekilmek_istenen) {
    @preg_match_all('/' . preg_quote($baslangic, '/') .
    '(.*?)'. preg_quote($son, '/').'/i', $cekilmek_istenen, $m);
    return <span class="userTag">@$m[</span>1];
    }
    
    $url = "https://twitter.com/search?f=tweets&vertical=default&q=istanbul";
    $icerik = file_get_contents($url);
    $zaman = getir('profile-tweet-action-reply-count-aria-','">',$icerik);
    
    $liste = array();
    if(file_exists("istanbul.txt")) {
    $liste = json_decode(file_get_contents($liste), true);
    }
    ?>
    <html>
    <body>
    <?php
    foreach($zaman as $tweetid) {
    if(in_array($tweetid, $liste))
    continue;
    
    $liste[] = $tweetid;
    ?>
    <blockquote class="twitter-tweet" data-lang="tr"><a href="https://twitter.com/twitter/status/<?php print_r($tweetid);?>"></blockquote>
    <?php
    }
    ?>
    <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
    </body>
    </html>
    <?php
    file_put_contents("istanbul.txt", json_encode($liste));
    ?>
  • 06-12-2018, 10:19:33
    #8
    mccree adlı üyeden alıntı: mesajı görüntüle
    Merhabalar,

    Ödev gereği
    Okulu merak ettim valla
  • 06-12-2018, 10:49:57
    #9
    bende şaşırdım ticari geçmişine uyumlu bir istek olunca fakat kodun cogunu kendi hazırlamıs zaten yardımcı olmak istedim