新浪微博API的使用Python

來源:互聯網
上載者:User

標籤:

本文記錄了用新浪微博官方Python SDK調用API進行開發的流程。準備工作

申請成為開發人員並建立一個應用:

首先要有一個新浪微博的帳號,然後去新浪微博開放平台(http://open.weibo.com/)建立一個應用,具體的步驟官網文檔介紹的非常詳細:在開發人員頁面點擊“登入” -> “建立應用” -> 選擇應用類型(如“網頁應用”)-> 填寫應用資訊。

P.S.,應用需要設定一個回調地址(CALL_BACK),可以設定為預設的回調網址:https://api.weibo.com/oauth2/default.html。

這一步完成後,將得到三個有用的資訊:APP_KEY,APP_SECRET和CALL_BACK,這三個資訊在後面編寫程式時將用到。

OAuth2.0授權

微博開放介面的調用,如發微博、關注等,都是需要擷取使用者身份認證的。目前微博開放平台使用者身份鑒權主要採用的是OAuth2.0。官方文檔有非常詳細的說明,瞭解了授權機制後有助於使用SDK編寫程式的過程。

下載和安裝新浪微博Python SDK

打包下載新浪微博官方Python SDK,網頁中說明了安裝有兩種方式,第一種用命令列工具pip安裝,第二種下載源碼包安裝。

對於第一種安裝方式,pip是Python的包管理工具,可以很方便的安裝Python模組。安裝成功後,只需在命令列(或linux終端)中執行pip install sinaweibopy,SDK的包sinaweibopy就安裝完畢。測試是否安裝成功,可以在python命令列中輸入:import weibo,如果沒有錯誤提示說明安裝成功。實際上Python SDK主要就是模組weibo,後面在使用SDK時就是調用該模組中的函數。

對於第二種方式,需要拷貝下載的源碼到安裝目錄或者配置Python模組搜尋的Path中。

讀寫微博介面程式

下面就可以調用微博API寫微博操作程式了,下面簡單介紹一個抓取微博資料的程式。

# _*_ coding: utf-8 _*_import sysreload(sys)sys.setdefaultencoding(‘utf-8‘)from weibo import APIClientimport jsonimport webbrowserimport ioAPP_KEY = ‘‘ ## 填寫應用程式的資訊APP_SECRET = ‘‘CALLBACK_URL = ‘https://api.weibo.com/oauth2/default.html‘client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)url = client.get_authorize_url()# TODO: redirect to urlwebbrowser.open_new(url)#print url# obtain url code:code = raw_input("input the code: ").strip()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 # token到期的UNIX時間:http://zh.wikipedia.org/wiki/UNIX%E6%97%B6%E9%97%B4# TODO: 在此可儲存access tokenclient.set_access_token(access_token, expires_in)res = client.statuses.public_timeline.get(count=200) ##返回最新的200條熱門微博#res  = client.statuses.user_timeline.get()  ##返回作者發布的曆史微博#res = client.statuses.friends_timeline.ids.get() ##返回好友發布的微博id#res=client.emotions.get()a = json.dumps(res, ensure_ascii = False,indent = 2)fout = io.open(‘test‘,‘w‘,encoding=‘utf-8‘)fout.write(a)

運行程式,自動開啟回調頁,將網址內的“code”拷貝至程式,程式執行成功後,就可以得到微博資料了。

這裡實際是調用新浪微博提供的API,具體參考官方文檔。

 

新浪微博API的使用Python

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.