Daha sonra Twitter api’lerini buradan incelemeye başladım. GET Trends tam benim aradığım şeydi. Ayrıca Twitter, gündem konularını almak için günlük, haftalık gibi seçenekler de sunmuş, buradan bakabilirsiniz. Dikkat ettiyseniz bu konular JSON uzantısıyla geliyor. JSON’u daha önce duymuştum ama ne olduğuna dair fazla bilgim yoktu. Biraz araştırdıktan sonra artık işin Python kısmı için hazırdım.
Python’da JSON dosyalarını decode etmek için simplejson kullandım. Bu kütüphaneyi de böylece ilk defa kullanmış oldum. Kodlar şu şekilde:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
import simplejson | |
import urllib2 | |
from pprint import pprint | |
req = urllib2.Request('https://api.twitter.com/1/trends/1.json') | |
opener = urllib2.build_opener() | |
f = opener.open(req) | |
json = simplejson.load(f) | |
#print simplejson.dumps(json, indent=1) | |
trends = [trend['name'] for trend in json[0]['trends']] | |
pprint(trends) |
Kodun içerisindeki yorum satırını aktive ederek gelen JSON dosyasının içeriğini görebilirsiniz.
Bu arada simplejson için buraya, JSON için ise wikipedia sayfasına bakabilirsiniz.
Son olarak hem örnek bir çıktı göstermek hem de bu yazıyı yazarken Twitter'da gündem konuları neymiş öğrenmek için programı çalıştırıp sonucu yapıştırıyorum.
['#Cheers2Rihanna',
'#HappyBirthdayRupert',
'SMASH HEART SCTV',
'#bakerfilms',
'Jorge Luis Borges',
'Charlie and the Chocolate Factory',
'TOTP',
'QPR',
'Brenda Song',
'Trace Cyrus']
Görüşmek üzere.
GÜNCELLEME: Kod, Twitter API'sinin değişen methodu nedeniyle yenilendi. (11.02.2012)