【问题标题】:Twitter API - How to count Tweets by hashtag in last 24 hours?Twitter API - 如何在过去 24 小时内按标签计算推文?
【发布时间】:2018-02-13 10:30:22
【问题描述】:

我尝试使用 Twitter API,我想计算过去 24 小时内有多少推文包含特殊主题标签。

我真的找不到方法吗?好像只限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>';

}            
?>

【问题讨论】:

    标签: php json api twitter twitter-oauth


    【解决方案1】:

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

    由于 Twitter API 都遵循 API 开发人员自己设置的一般规则,我假设 Stream API 遵循与 REST API 相同的规则。 GET search/tweets 的文档声明(参数:count)返回的推文数量限制为 100。即使流和 REST API 之间没有明显的联系,即使文档中没有描述,我会说这就是数组中只有 100 个元素的原因。

    如果可能的话,您可以运行一个脚本,在某个时间间隔内向服务器发送请求,然后将各个推文保存在数据库/文本文件/其他文件中。由于请求频率的规定被设置为每 15 分钟 15 次或每 15 分钟 180 次,这将是一种解决方法。

    【讨论】:

    • 嗯好吧..我想我会尝试循环播放它..非常感谢您的评论! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 2018-10-23
    • 2021-07-24
    • 1970-01-01
    相关资源
    最近更新 更多