在数据库中存档推文(避免重复)

时间:2011-01-15 11:54:41

标签: php mysql json

我要将我的推文归档到数据库中。但我所做的是编写了一个PHP脚本,用来从用户(我)获取最新的200条推文,然后将它们插入到数据库中。这个PHP脚本将在Cron作业上运行,但我感到困惑的是如何避免将重复的推文放入数据库。结构将是table:User,然后是两列,ID和Tweet。那么我如何让PHP避免在前一天发出重复的推文呢?

由于

4 个答案:

答案 0 :(得分:2)

假设Twitter API提供了唯一的推文ID,您可以在数据库中将该字段设置为UNIQUE。当您尝试插入已存在ID的推文时,不会进行插入。

答案 1 :(得分:1)

您可以对推文的文字进行哈希处理,并在包含哈希值的表格中添加一个唯一的列。

md5($tweettext)

答案 2 :(得分:1)

最简单的方法是在php哈希中从服务器获取最新的200条推文。构造和tweet_ids数组。从存在这些tweet_ids的数据库中选择。从新推文的散列中删除数据库中存在的那些,并将其余部分插入数据库中。

我遇到了同样的问题。首先我使用了twitter since_id,发现twitter API(since_id)没有按照我认为的方式工作。

答案 3 :(得分:0)

不要追踪最后的200. Twitter api提供了从特定ID中检索推文的方法。只需保存您收到的最后一个ID。