Получение последних твитов пользователей с Django - PullRequest
0 голосов
/ 19 марта 2010

Я хочу создать функцию, которая будет получать последние твиты каждого пользователя из определенной группы.Итак, если пользователь входит в группу «авторов», я хочу взять его последний твит и затем, наконец, кэшировать результат за день, поэтому мы выполняем сумасшедшую работу только один раз.

    def latest_tweets(self):
    g = Group.objects.get(name='author')
    users = []
    for u in g.user_set.all():
        acc = u.get_profile().twitter_account
        users.append('http://twitter.com/statuses/user_timeline/'+acc+'.rss')
    return users

ГдеЯ до сих пор нахожусь, но я совершенно не знаю, как разобрать RSS, чтобы получить последний твит.Может кто-нибудь помочь мне здесь?Если есть лучший способ сделать это, любые предложения приветствуются!Я уверен, что кто-то предложит использовать django-twitter или другие подобные библиотеки, но я бы хотел сделать это вручную, если это возможно.

Cheers

Ответы [ 3 ]

3 голосов
/ 19 марта 2010

зачем переделывать камень ?, вы можете скачать / установить / импортировать python-twitter и сделать что-то вроде:

tweet = twitter.Api().GetUserTimeline( u.get_profile().twitter_account )[0]

http://code.google.com/p/python-twitter/

пример: http://www.omh.cc/blog/2008/aug/4/adding-your-twitter-status-django-site/

1 голос
/ 20 марта 2010

Если вы используете Python-Twitter, это довольно просто. Это из памяти, так что прости меня, если я ошибусь здесь.

from django.core.cache import cache
import twitter


TWITTER_USER = 'username'
TWITTER_TIMEOUT = 3600

def latest_tweet(request):

  tweet = cache.get('tweet')
  if tweet:
    return {"tweet":tweet}

  api = twitter.Api()
  tweets = api.GetUserTimeline(TWITTER_USER)
  tweet = tweets[0]

  tweet.date = datetime.strptime(
    tweet.created_at, "%a %b %d %H:%M:%S +0000 %Y"
  )

  cache.set( 'tweet', tweet, TWITTER_TIMEOUT )

  return {"tweet": tweet}
1 голос
/ 19 марта 2010

Rss может быть проанализирован любым парсером xml. Я использовал встроенный модуль htmllib ранее для другой задачи и нашел, что с ним легко разобраться. Если все, что вы делаете, это rss-анализ, я бы порекомендовал feedparser . Я не использовал его раньше, но это кажется довольно простым.

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