Как найти пользователей самые популярные упоминания из Twitter API - PullRequest
2 голосов
/ 08 января 2011

Я пытаюсь найти способ узнать, кого пользователь упоминает больше всего в своих твитах.

т.е. если бы был кто-то, на кого я постоянно отвечал или упоминал, что было бы лучшим способом узнать это?

Я использую Rails и драгоценный камень Twitter для этого проекта. Если бы я мог вернуть пользователям последние 200 твитов и выполнить какой-то запрос, который мог бы работать, просто не уверен, какой запрос я бы запустил.

Любые идеи, как решить это высоко ценится.

Ответы [ 2 ]

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

Если у драгоценного камня 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 просматриваете все твиты, извлекая упоминания @. Тогда вы join соберете все массивы вместе и найдете самый распространенный элемент.

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

Вы можете получить любые не защищенные твиты пользователей с помощью одного неаутентифицированного API вызова user_timeline:

http://api.twitter.com/1/statuses/user_timeline.json?screen_name=SCREENNAME&count=200

Оттуда вы просто проанализируете тело возвращенного JSON / XML (в зависимости от ваших предпочтений) для @ упоминаний в содержимом твитов (в поле text).

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