• 15-01-2023, 01:10:33
    #1
    Merhaba arkadaşlar,

    php ile bir takip sistemi yazmak istiyorum. Sistemin mantığı şu olacak;

    Örnek : 100 tane haber sitesini yarım saat aralıkla gezecek ve benim belirlediğim kelimeler varsa bana gösterecek. Bununla ilgili firmalar var medyatakip, ajanspress vb. gibi. Bunlar türkiye geneli benim amacım il geneli bu sistemi yapmak.

    Bu mantık için nasıl bir yol tavsiye edersiniz. Benim aklıma gelen yol şu şekilde;

    bir bot hazırlayıp yarım saat aralıkla hedef sitenin varsa rss adresine gidip istediğim kelimelerde haber varsa bana getirmesi. Eğer rss yoksa anasayfasını incelemesi.

    Yapmak istediği mantığı daha basit ve sorunsuz hangi yolla yapabilirim.
  • 15-01-2023, 01:31:19
    #2
    Php değilde node.js veya Python ile yaparsın
  • 15-01-2023, 01:38:15
    #3
    Royxr_cod adlı üyeden alıntı: mesajı görüntüle
    Php değilde node.js veya Python ile yaparsın
    cevabınız için teşekkür ederim.

    node.js ve python bilmiyorum php ile şimdilik yoluma devam etmek istiyorum çünkü diğer dilleri öğrenmek için yeterli zamanım yok.
  • 15-01-2023, 01:41:35
    #4
    SNDizayn adlı üyeden alıntı: mesajı görüntüle
    cevabınız için teşekkür ederim.

    node.js ve python bilmiyorum php ile şimdilik yoluma devam etmek istiyorum çünkü diğer dilleri öğrenmek için yeterli zamanım yok.
    php ile yapmasın 1 site için evet yapa bilirsin cronla falan php gider site kontrol edip gelir ama gider 20 site gitsin derse gitmez 20 site için teker teker bot yazman gerekiyor bazıları da bot içerik çekmesin diye engeloyorlar
  • 15-01-2023, 01:57:50
    #5
    Royxr_cod adlı üyeden alıntı: mesajı görüntüle
    php ile yapmasın 1 site için evet yapa bilirsin cronla falan php gider site kontrol edip gelir ama gider 20 site gitsin derse gitmez 20 site için teker teker bot yazman gerekiyor bazıları da bot içerik çekmesin diye engeloyorlar
    farklı bir proje için php ile yaptım bu tarz bir işlem ortalama 155 tane siteye bot ile bağlanıp çektirdim ama dediğiniz gibi hepsi için tek tek bot yazıp bunları belirli dönemlerde kontrol etmek gerekiyor çünkü hedef site kendini değiştiriyor veya botu engelliyor vb.

    Sanırım yine aynı yol ile gideceğim çünkü yeni bir dil öğrenmek çok zamanımı alır.
  • 15-01-2023, 03:33:25
    #6
    Üyeliği durduruldu
    SimplePie adlı bir PHP kütüphanesi kullanarak yapabilirsin hocam.
    Örneğin:
    require_once('simplepie.inc');
    $feed = new SimplePie();
    $feed->set_feed_url('https://www.habersitesi.com/rss'); $feed->init(); $feed->handle_content_type(); foreach($feed->get_items() as $item) { $title = $item->get_title();
    $link = $item->get_link();
    $description = $item->get_description();
    // burada arama işlemlerinizi yapabilirsiniz if (strpos($title, 'aradığınız kelime') !== false) { echo $title . '<br>'; echo $link . '<br>'; echo $description . '<br>'; } }
  • 15-01-2023, 03:36:20
    #7
    Fudoaridolu adlı üyeden alıntı: mesajı görüntüle
    SimplePie adlı bir PHP kütüphanesi kullanarak yapabilirsin hocam.
    Örneğin:
    require_once('simplepie.inc');
    $feed = new SimplePie();
    $feed->set_feed_url('https://www.habersitesi.com/rss'); $feed->init(); $feed->handle_content_type(); foreach($feed->get_items() as $item) { $title = $item->get_title();
    $link = $item->get_link();
    $description = $item->get_description();
    // burada arama işlemlerinizi yapabilirsiniz if (strpos($title, 'aradığınız kelime') !== false) { echo $title . '<br>'; echo $link . '<br>'; echo $description . '<br>'; } }
    cevabınız için teşekkür ederim kütüphaneyi inceleyeceğim mutlaka.
  • 15-01-2023, 03:39:43
    #8
    Üyeliği durduruldu
    SNDizayn adlı üyeden alıntı: mesajı görüntüle
    cevabınız için teşekkür ederim kütüphaneyi inceleyeceğim mutlaka.
    Ve 100 haber sitesi için manuel olarak tek tek eklemek yerine veritabani kullanabilirsin
    Örnek:
    id:site_name:rss_url
    -------------------------
    $conn = mysqli_connect("host", "username", "password", "dbname");

    $sql = "SELECT id, site_name, rss_url FROM news_sites";
    $result = mysqli_query($conn, $sql);

    while($row = mysqli_fetch_assoc($result)) {
    $site_id = $row['id'];
    $site_name = $row['site_name'];
    $rss_url = $row['rss_url'];

    $feed = new SimplePie();
    $feed->set_feed_url($rss_url);
    $feed->init();
    $feed->handle_content_type();

    foreach ($feed->get_items() as $item) {
    $title = $item->get_title();
    $link = $item->get_link();
    $description = $item->get_description();

    if (strpos($title, 'aradığınız kelime') !== false) {
    echo $site_name . ' - ' . $title . '<br>';
    echo $link . '<br>';
    echo $description . '<br>';
    }
    }
    }

    mysqli_close($conn);
  • 15-01-2023, 04:10:54
    #9
    yapmasına yaparsın ama şu var rss vs zaten haberin tam içeriğini vermiyor. Mecbur anasayfa veya search yaparak bulacaksın kelimeleri ama 100 tane site için ayrı ayrı kod yazman gerecek çünkü büyük ihtimalle her sitenin alt yapısı farklı olacak. çok uğraştırır.