差异化JSON(twitter API)

时间:2012-09-17 22:50:59

标签: python json twitter diff

我正在制作一个相当简单的脚本,用于监控和存档给定的用户推文 - 现在,我的配置每五分钟请求一个帐户的20条最新推文(API限制),然后检查以查看哪些是new,并将新的附加到文件中。应该很简单。

我现在所做的就是以下循环,将u定义为来自twitter api的json输出:

json_u = json.loads(u)
after first run:
  q = [x for x in json_u if x not in old_u]
  write q
old_u = json_u
wait five minutes

问题是q =行似乎没有正确地完成工作,因为q变量最终每次都包含所有20条新推文。认为python在这个结构上遇到了困难(json_u应该是20个dicts的列表),我想用这种方式实现它:

q = [x for str(x) in json_u if str(x) not in old_u]

但它会抛出一个 SyntaxError:无法分配给函数调用错误。

任何帮助?谢谢!

1 个答案:

答案 0 :(得分:0)

语法是[表达变量的...],这就是你得到语法错误的原因。

你的原始列表理解很好。问题似乎是你在jason_u中的字母与old_u中的字母不同。

您是否打印过dicts并查找时间戳等差异?