【问题标题】:get tweets with certain hashtag at regular intervals?定期获取带有特定主题标签的推文?
【发布时间】:2013-09-24 20:55:42
【问题描述】:

我已成功提取属于某个主题标签的推文。

对于代码感兴趣的人,它在底部。

这就是我所做的:#Dhoom3teaser

但由于某些原因,我需要将每条推文都插入到我的表格中。如何在不重复的情况下定期插入一些内容。(即应根据时间戳插入推文)。如何区分推文?

我想可能我会使用 setInterval。但后来想到可能有更好的解决方案。

希望我清楚吗?

<?php
ini_set('display_errors', 1);
require_once('TwitterAPIExchange.php');
include_once $_SERVER["DOCUMENT_ROOT"]."/includes/db/db_conn.php";

$settings = array(
    'oauth_access_token' => "",
    'oauth_access_token_secret' => "",
    'consumer_key' => "",
    'consumer_secret' => ""
);
$url = 'https://api.twitter.com/1.1/search/tweets.json';
$getfield = '?q=#Dhoom3Teaser';
$requestMethod = 'GET';

$twitter = new TwitterAPIExchange($settings);
$response = $twitter->setGetfield($getfield)
    ->buildOauth($url, $requestMethod)
    ->performRequest();

$decoded = json_decode($response);

echo '<pre>';print_r($decoded);echo '<pre>';

【问题讨论】:

  • 您是在浏览器中执行此操作,还是作为 php cron 作业?
  • 你有没有想过使用 cronjob?在推文内容、用户名和时间戳之间,避免重复条目应该没有问题。
  • @MattDiamant:对 cron 了解不多..听说它可能是一个可能的解决方案?

标签: javascript php twitter hashtag


【解决方案1】:

你想要一个 cron 任务。这是一篇关于如何设置的文章:http://www.thesitewizard.com/general/set-cron-job.shtml

什么是 cron 作业,只是按计划运行脚本的标准方式。因此,每天一次,或每小时一次,或每月第三个星期六的 2:15,等等。您将编写 cron 作业,以便它运行您的推文抓取脚本,然后确保如果没有重复的推文,您将在插入新推文之前检查表中的重复项。我确定(但可能是错误的)每条推文都有某种推文 ID,因此在插入之前确保表格中不存在具有该 ID 的推文。

编辑:实际上,最好让您的表格使每一行的 ID 都是唯一的。你不必这样写任何额外的 php。

【讨论】:

    【解决方案2】:

    看这里: https://dev.twitter.com/docs/platform-objects/tweets

    你想要的属性是“id(唯一标识一条推文)。

    编辑一些进一步的想法: 如果我必须用 PHP 来做,我会尽可能使用 cronjobs。要存储 unique_id(以及推文数据中所需的其他字段),您可以只使用 mysql 表(并使用 id 作为主键)。如果您没有该领域的经验,那就更难了,因为这是 imo 保存大量推文并避免重复的最简单方法。

    对于搜索api部分:有一个参数“since_id”,基本上是一个大于过滤器。因此,如果您保存了上次检索到的推文,您可以使用它继续搜索并检索比上次保存的推文更新的推文(因此无论如何都不应该有任何重复)。

    【讨论】:

    • 这只是解决方案的一部分!!!我希望你能给我像 cron、setInterval 这样的选项……只是问……是的,我确实看到了唯一的 id……但是如何使用是吗?
    • 更新了我的帖子,希望可以解决问题。如果我仍然错过了什么,请随时再问,因为您的问题非常广泛
    猜你喜欢
    • 1970-01-01
    • 2013-06-02
    • 2017-01-05
    • 1970-01-01
    • 2011-08-27
    • 2017-12-18
    • 2011-02-12
    • 2011-08-29
    • 1970-01-01
    相关资源
    最近更新 更多