Архивирование твитов в базе данных (избегая дубликатов) - PullRequest
1 голос
/ 15 января 2011

Я собираюсь заархивировать свои твиты в базе данных.но я написал PHP-скрипт, который берет и получает последние 200 твитов от пользователя (меня), а затем вставляет их в базу данных.Этот PHP-скрипт будет работать на Cron Job, но меня смущает то, как избежать размещения дублирующих твитов в базе данных.Структура должна была быть таблицей: Пользователь, затем два столбца, ID и Tweet.Итак, как мне получить PHP, чтобы избежать дублирования твитов, которые он, скажем, вставил накануне?

Спасибо

Ответы [ 4 ]

2 голосов
/ 15 января 2011

При условии, что API Twitter предоставляет уникальный идентификатор твита, вы можете установить это поле как UNIQUE в вашей базе данных.При попытке вставить твит, идентификатор которого уже присутствует, вставка не произойдет.

1 голос
/ 15 января 2011

Самый простой способ - получить 200 новых твитов с сервера в хэше php. построить и массив их tweet_ids. выберите из базы данных, где существуют эти твиты. удалите те, которые существуют в базе данных, из вашего хэша новых твитов и вставьте остальное в базу данных.

У меня была такая же проблема. Сначала я использовал twitter since_id и обнаружил, что Twitter API (since_id) не работает так, как я предполагал.

1 голос
/ 15 января 2011

Вы можете хешировать текст вашего твита и добавить в таблицу уникальный столбец с хешами.

md5($tweettext)
0 голосов
/ 15 января 2011

Не получать последние 200. API Twitter предоставляет способы получения твитов с определенного идентификатора.Просто сохраните последний идентификатор, который вы получили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...