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.
PHP ile Takip ve Analiz Sistemi Hakkında
9
●214
- 15-01-2023, 01:38:15cevabınız için teşekkür ederim.Royxr_cod adlı üyeden alıntı: mesajı görüntüle
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:35php 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 engeloyorlarSNDizayn adlı üyeden alıntı: mesajı görüntüle
- 15-01-2023, 01:57:50farklı 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.Royxr_cod adlı üyeden alıntı: mesajı görüntüle
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Üyeliği durdurulduSimplePie 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:20cevabınız için teşekkür ederim kütüphaneyi inceleyeceğim mutlaka.Fudoaridolu adlı üyeden alıntı: mesajı görüntüle
- 15-01-2023, 03:39:43Üyeliği durdurulduVe 100 haber sitesi için manuel olarak tek tek eklemek yerine veritabani kullanabilirsinSNDizayn adlı üyeden alıntı: mesajı görüntüle
Ö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);