新浪微博的API提供了多種語言的介面,其中python的介面由網友@廖雪峰提供。
附下載地址以及說明:http://michaelliao.github.com/sinaweibopy/
說明文檔:https://github.com/michaelliao/sinaweibopy/wiki/OAuth2-HOWTO
也可以看這兒:http://code.google.com/p/sinaweibopy/wiki/OAuth2
代碼寫的很棒,但裡面有一點可能讓我等菜鳥不太好理解:
code = your.web.framework.request.get('code')
這裡面的your.web.framework沒有給出一個執行個體的架構。因此,我們小白犯愁了,幸好我們有搜尋引擎,搜尋到了相關解決辦法,但是說明還不是很詳細。
見網址:http://blog.csdn.net/johnpher/article/details/7596525
後來又看到了這個,貌似把我說的解釋清楚了,
見網址:http://www.cnblogs.com/qianlifeng/archive/2012/02/12/2348366.html
我的程式碼如下:
#!/usr/bin/env python# -*- coding: utf-8 -*-from weibo import APIClientimport webbrowser#python內建的包APP_KEY = '你的key'APP_SECRET = '你的密鑰'CALLBACK_URL = '回調地址'#利用官方微博SDKclient = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)#得到授權頁面的url,利用webbrowser開啟這個urlurl = client.get_authorize_url()print urlwebbrowser.open_new(url)#擷取code=後面的內容print '輸入url中code後面的內容後按斷行符號鍵:'code = raw_input()#code = your.web.framework.request.get('code')#client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)r = client.request_access_token(code)access_token = r.access_token # 新浪返回的token,類似abc123xyz456expires_in = r.expires_in# 設定得到的access_tokenclient.set_access_token(access_token, expires_in)#可以列印下看看裡面都有什麼東西#print client.statuses__public_timeline()statuses = client.statuses__public_timeline()['statuses']length = len(statuses)#輸出了部分資訊for i in range(0,length):print u'暱稱:'+statuses[i]['user']['screen_name']print u'簡介:'+statuses[i]['user']['description']print u'位置:'+statuses[i]['user']['location']print u'微博:'+statuses[i]['text']
關於回調地址的問題,可以看這兒:http://blog.csdn.net/monsion/article/details/8104257