#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import urllib
import simplejson
def printer(d, indent=''):
if isinstance(d, dict):
for k in d:
print indent+k,
printer(d[k], indent+' ')
elif isinstance(d, list):
print indent + 'item in list length =', len(d)
for i in d:
print indent+'-'*10
printer(i, indent+ ' ')
else:
print (d, )
#print indent, str(d).encode('utf-8')
def twittersearch(word, since_id=None, page=None):
baseurl = "http://search.twitter.com/search.json"
#param = urllib.urlencode({'q': u'堺市 中学'})
if page is None:
page = 1
param = '?q=%E5%A0%BA%E5%B8%82%20%E4%B8%AD%E5%AD%A6' + '&per_page=20&page=%i'%(page,)
#param = '?q=%E5%A0%BA%E5%B8%82%20%E4%B8%AD%E5%AD%A6' + '&since_id=%s'%(since_id,) #ugh!
print >> sys.stderr, 'retreiving:', param
h = urllib.urlopen(baseurl + param)
return simplejson.load(h)
all = {}
since_id = None
page = 1
try:
while True:
result = twittersearch(None, since_id, page)
if 'results' not in result or not len(result['results']):
break
#since_id = result['max_id']
for item in result['results']:
all[item['id']] = item
if not since_id or int(item['id']) < int(since_id):
since_id = item['id']
printer(result)
page += 1
finally:
print len(all)
print 'done'
since_idが使われていなかったり、()で囲ってprintしたりしているのはまあ、そういうモンだ
0 コメント:
コメントを投稿