从twitter PHP获取特定主题标签的计数

时间:2012-01-04 17:34:29

标签: php api curl twitter simplexml

我可以在PHP中获取特定主题标签的所有Twitter帖子。现在我想得到该特定主题标签的总计数。 我正在使用curl,SimpleXMLElement以及twitter API搜索调用。 有关如何获取特定主题标签的总计数的任何想法吗?

<?php
$pagetitle = "Pull Twitter Hashtags";


function getTweets($hash_tag) {

    $url = 'http://search.twitter.com/search.atom?q='.urlencode($hash_tag).'&result_type=recent' ;
    echo "<p>Connecting to <strong>$url</strong> ...</p>";
    $ch = curl_init($url);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE);
    $xml = curl_exec ($ch);
    curl_close ($ch);

//If you want to see the response from Twitter, uncomment this next part out:
//echo "<p>Response:</p>";
//echo "<pre>".htmlspecialchars($xml)."</pre>";

    $affected = 0;
    $twelement = new SimpleXMLElement($xml);
    foreach ($twelement->entry as $entry) {
    $text = trim($entry->title);
    $author = trim($entry->author->name);
    $time = strtotime($entry->published);
    $id = $entry->id;

    //echo count($entry->text);
    echo "<p>Tweet from ".$author.": <strong>".$text."</strong>  <em>Posted ".date('n/j/y g:i a',$time)."</em></p>";
}



return true ;
}

getTweets('#converse');


?>

2 个答案:

答案 0 :(得分:2)

使用count()

$number_of_tweets = count($twelement->entry);

答案 1 :(得分:1)

没有“所有推文” - 只有“过去x小时内的所有推文”(可能是几天)。

这是任何Twitter开发者应该知道的第一件事 - 认为推文是一个无限的流。你无法计算无限的流,也不能得到所有这些。

要计算“过去一小时内关于#hashtag的所有推文”,只需使用过去一小时内的主题标签获取所有推文,然后计算它们。