我正试图找出一种方法来查找用户在推文中提及的最多。
即。如果有人经常回复或提及,那么最好的方法是找出那个?
我正在为这个项目使用Rails和Twitter gem。 如果我可以返回用户最近的200条推文并运行某种可能有效的查询,那就不确定我会运行什么类型的查询。
如何解决这个问题的任何想法都很受欢迎。
答案 0 :(得分:1)
您可以通过user_timeline
text
拨打任意未受保护的用户推文:
从那里开始,您只需在推文内容({{1}}字段)中为@ mentions解析返回的JSON / XML的主体(取决于您的偏好)。
答案 1 :(得分:1)
除非Twitter宝石有办法从单个推文中提取@提及,否则你可以用
之类的东西来解决它们"haha @foo @bar sdasda".split.select { |t| t.start_with? '@' } #=> ["@foo", "@bar"]
在所有用户的推文上映射,获取一系列提及然后计算它们。
编辑以回答评论中的问题:
>> tweets = ["haha @foo @bar sdasda", "lalal @foo", "@bar @foo"] #=> ["haha @foo @bar sdasda", "lalal @foo", "@bar @foo"]
>> tweets.map do |t|
>> t.split.select { |t| t.start_with? '@' }
>> end.flatten.group_by { |e| e }.values.max_by(&:size).first #=> "@foo"
所以基本上你map
超过所有推文,提取@ mentions。然后你join
将所有数组放在一起,找到最常见的元素。