0

特定のハッシュタグに属するツイートの抽出に成功しました。

コードに興味がある人は、一番下にあります。

これは私がやったことです: #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>';
4

2 に答える 2

1

You want a cron job. Here's an article on how to set it up: http://www.thesitewizard.com/general/set-cron-job.shtml

What a cron job is, is just a standard way to run your script on a schedule. So, once a day, or once an hour, or at 2:15 on the 3rd Saturday of each month, etc. You're going to write the cron job so that it will run your tweet grabbing script, and then to make sure that there are no repeated tweets, you're going to check the table for duplicates before inserting a new tweet. I'm sure (but could be wrong) that each tweet has some sort of tweet id, so make sure that a tweet with that id doesn't exist in the table before inserting it.

Edit: Actually, it would be better to make your table so that each row's ID is UNIQUE. You don't have to write any extra php that way.

于 2013-09-19T17:42:43.233 に答える
0

こちらをご覧ください: https://dev.twitter.com/docs/platform-objects/tweets

必要な属性は「id (ツイートを一意に識別する)」です。

編集いくつかのさらなるアイデア: PHP でそれを行う必要がある場合、可能であれば cronjobs を使用します。unique_id (およびツイート データから必要な他のフィールド) を格納するには、mysql テーブルを使用するだけです (そして ID を主キーとして使用します)。その分野の経験がない場合は、多くのツイートを保存して重複を避けるための最も簡単な方法であるため、難しいでしょう。

検索 API 部分の場合: パラメータ「since_id」があります。これは、基本的にフィルターよりも大きいものです。したがって、最後に取得したツイートを保存した場合は、これを使用して検索を続行し、最後に保存したツイートよりも新しいツイートを取得できます (したがって、いずれにしても重複はありません)。

于 2013-09-19T17:16:19.420 に答える