繁体   English   中英

Twitter API-如何在过去24小时内按主题标签计算推文?

[英]Twitter API - How to count Tweets by hashtag in last 24 hours?

我尝试使用Twitter API,我想计算过去24小时内有特殊标签在Twitter上发布的推文数量。

我真的找不到办法吗? 好像限制为100个?

为了在我的网站上设置一些统计信息,我需要获取过去24小时内的推文数量。

当前代码:

<?php
ini_set('display_errors', 1);
require_once('TwitterAPIClass/TwitterAPIExchange.php');

/** Set access tokens here - see: https://dev.twitter.com/apps/ **/
$settings = array(
    'oauth_access_token' => "XXXX",
    'oauth_access_token_secret' => "YYYY",
    'consumer_key' => "XXXX",
    'consumer_secret' => "YYYY"
);    

/** Perform a GET request and echo the response **/
/** Note: Set the GET field BEFORE calling buildOauth(); **/
$url = 'https://stream.twitter.com/1.1/statuses/filter.json';
$getfield = '?track=%23beer';
$requestMethod = 'GET';
$twitter = new TwitterAPIExchange($settings);
$twitter_data = json_decode($twitter->setGetfield($getfield)->buildOauth($url, $requestMethod)->performRequest(), true);

foreach($twitter_data['statuses'] as $tweets) {
    echo $tweets['created_at'] . '<br>';

}            
?>

这可能不是一个完美的答案,但我假设您的假设是正确的。 Twitter REST API已经表明了这一点。 (我知道您正在使用Stream API,但让我解释一下)。

由于Twitter API均遵循API开发人员自己设置的一般规则,因此我假设Stream API遵循与REST API相同的规定。 GET搜索/推文的文档指出(参数: count ),返回的推文数量限制为100。即使流和REST API之间没有明显的联系,即使文档中未对此进行描述,但我d表示,这就是数组中只有100个元素的原因。

如果可能,您可以运行一个脚本,该脚本以一定的间隔将请求发送到服务器,然后将各个tweet保存在数据库/文本文件/任何文件中。 由于将请求频率的规则设置为每15分钟15次或每15分钟180次,因此这是一种解决方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM