有没有快速获取评论/评论计数的工具?

时间:2010-11-15 作者:Toby

我目前正在为一个选择加入博客服务的聚合器工作。

一些人将他们的WP博客提交给聚合器进行聚合。

我目前使用的是http://feedwordpress.radgeek.com/

我想做的是,将每一点辛迪加内容拍摄到有问题的帖子上,并获取最新的评论和评论数量。

有人对最好的方法有什么看法吗?

1 个回复
最合适的回答,由SO网友:edelwater 整理而成

抓取每篇文章的rss提要抓取每篇文章的评论rss提要如果你想进行多次运行,请将其缓存起来,也可以方便地调试错误的提要不要在wordpress安装中执行此代码,而是在一个单独的地方安装magpierss,使用一个令牌在每次rss提要中存储最新日期,以便下次执行此操作“聚合”

a) 可能会将其重新组合到一个新的RSS源中,并发布该RSS源以供订阅。b) 可能会在新的推特提要中重新发布每个帖子

header:

require_once \'magpierss/rss_fetch.inc\';
define("MAGPIE_CACHE_DIR", "/home/yoursite/cache");
define("MAGPIE_CACHE_ON", true);

simple loop based on a file based storage of cache and last-datetime-counter:

$rss = fetch_rss(\'http://whateversite/rss.php\');
$filename = "/your_path_to_datetime_token/timedatetoken.txt" ;
$fp = fopen($filename, \'r\');
$lastdate = fread($fp, filesize($filename));    
fclose($fp);
$wroteLastDate = false; 
// read feed
foreach ($rss->items as $item) {
$published = $item[\'date_timestamp\'];   
if ($published > $lastdate) { 
    if ($wroteLastDate == false) { 
        $fp = fopen($filename, \'w\');
        fwrite($fp, $published);
        fclose($fp);    
        $wroteLastDate = true;
    }   
    $title = $item[title];
    $url   = $item[link];
    $guid   = $item[guid];
    $description = $item[description];
    $description = strip_tags($description); 
            // now store it somewhere or e.g. post it to your owb blog via xmlrpc
}   
 }
因此,评论需要相同的循环,也就是表单/提要,所以你在上面找到的每一篇帖子($url)都会调用一个新的完全相同的循环,但对于($url)/提要。这些是注释,相同的循环,相同的过程。

行“//now store it something or e.g.post it to your owb blog via xmlrpc”现在意味着您可以调用自己的聚合器blog xmlrpc向现有帖子添加新帖子或新评论。

1) 添加新帖子是非常默认的,您可以调用此函数:

function wpPostXMLRPC($title,$body,$rpcurl,$username,$password,$categories=array(867)) {
$categories = implode(",", $categories);
$XML = "<title>$title</title>" . "<category>$categories</category>" . $body;
$params = array(\'\',\'\',$username,$password,$XML,1);
$request = xmlrpc_encode_request(\'blogger.newPost\',$params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_URL, $rpcurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
curl_exec($ch);
curl_close($ch);
 }
该博客将被输入到您的聚合器博客中。现在来看评论:在通过XMLRPC添加评论之前,您必须检查日志是否已经存在于您的博客中。因此,首先做检查,然后做评论(实际上,甚至在添加新帖子之前也可能这样做)。

通过:wp添加新注释。新来者(http://codex.wordpress.org/XML-RPC_wp)

如果您接近聚合器应用程序数据库,您可以跳过XMLRPC,而不是直接调用XMLRPC进行数据库验证,例如,如果帖子已经存在,则获取id,然后检查注释是否存在,如果没有存储,如果更新,则更新,如果删除,然后删除(以完全同步)。

(您需要删除您这边的评论和帖子,以防止人们因为各种原因(有时是几年后)呼叫您删除帖子或评论)-->从而决定您希望将聚合的帖子和评论保留多长时间以供外部显示。

我会将这个预定的rss检查器和更新程序作为一个单独的应用程序运行,而不是在同一个应用程序中,因为表示层要使其具有可伸缩性等等。。。

依我拙见

结束

相关推荐