#!/usr/bin/env python
import base64
import simplejson as json
import os
import sys
import urllib
import urllib2
global twitter_username
global digu_username
global digu_password
twitter_username = 'username'
digu_username = 'username'
digu_password = 'password'
def post_to_digu(msg):
url = 'http://api.minicloud.com.cn/statuses/update.json'
data = urllib.urlencode(msg)
req = urllib2.Request(url, data)
req.add_header("Authorization", "Basic %s" % base64.encodestring('%s:%s' % (digu_username, digu_password))[:-1])
handle = urllib2.urlopen(req)
def main():
path = sys.path[0]
if (sys.platform[:3] == 'win'):
path += '\\'
else:
path += '/'
id_file = path + 'last_id'
last_id = 0
if os.path.exists(id_file):
f = open(id_file, 'r')
last_id = int(f.read())
f.close()
else:
f = open(id_file, 'w')
f.write('0')
f.close()
url = 'http://twitter.com/statuses/user_timeline/' + twitter_username + '.json?last_id='
updates = json.load(urllib.urlopen(url+str(last_id)))
new_last_id = None
n = 0
for update in updates:
text = update['text']
id = update['id']
if (text[0] != '@') and (id > last_id):
if (new_last_id < id):
new_last_id = id
text = urllib.quote(text.encode('utf-8'))
msg = {'content': text}
stack.append(msg)
while (stack)
post_to_digu(stack.pop())
if (new_last_id != None):
f = open(id_file, 'w')
f.write(str(new_last_id))
if __name__ == "__main__":
main()
老大,详细介绍一下怎么用啊。我将你这段代码上传到GAE上不能运行啊
這是在linux shell下用的…