Python調用微博API獲取微博內容

一:獲取app-key 和 app-secret

? ? 使用自己的微博賬號登錄微博開放平臺(http://open.weibo.com/),在微博開放中心下“創建應用”創建一個應用,應用信息那些隨便填,填寫完畢后,不需要提交審核,需要的只是那個app-key和app-secret

二:設置授權回調頁


? ? 在“微博開放平臺”的“管理中心”找到剛才創建的應用,點開這個應用,點開左邊“應用信息”欄,會看見“App key”和“App Secret”的字樣,這兩個東西是要在后面程序中使用的。然后在“應用信息”下的“高級信息”點擊“編輯”按鈕,將“授權回調頁面”設置為:https://api.weibo.com/oauth2/default.html,將“取消授權回調頁”也設置為:https://api.weibo.com/oauth2/default.html。

三:安裝微博 python SDK

有兩種安裝方式:

1:http://github.liaoxuefeng.com/sinaweibopy/下載新浪微博SDK

2:python有個簡單的安裝方式:直接在命令行下鍵入:

sudo pip install sinaweibopy

四:實例驗證,獲取當前登錄用戶及其所關注(授權)用戶的最新微博

這里需要注意的是在瀏覽器彈出一個頁面,要先點擊“授權”(這里進行的OAuth 2認證,我理解為就是用戶訪問我的應用后將頁面導向新浪服務器然后用戶輸入信息到新浪服務器后授權給我的應用訪問用戶數據,這里我將的微博授權給下面的程序了),授權后瀏覽器中的URL類似:https://api.weibo.com/oauth2/default.html?code=2024222384d5dc88316d21675259d73a將code后面那個復制到控制端,程序需要讀入2024222384d5dc88316d21675259d73a這個數據?

注意:如果想獲取別的信息,只需修改

statuses = client.statuses__friends_timeline()['statuses']

中的 statuses__friends_timeline即可


# -*- coding: utf-8 -*-
from weibo import APIClient
import webbrowser        #python內置的包APP_KEY = 'xxxxxxxx'#注意替換這里為自己申請的App信息
APP_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
CALLBACK_URL = 'https://api.weibo.com/oauth2/default.html'#回調授權頁面#利用官方微博SDK
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
#得到授權頁面的url,利用webbrowser打開這個url
url = client.get_authorize_url()
print url
webbrowser.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,類似abc123xyz456
expires_in = r.expires_in# 設置得到的access_token
client.set_access_token(access_token, expires_in)#可以打印下看看里面都有什么東西
statuses = client.statuses__friends_timeline()['statuses'] #獲取當前登錄用戶以及所關注用戶(已授權)的微博</span>length = len(statuses)
print length
#輸出了部分信息
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://www.pswp.cn/news/542993.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/542993.shtml
英文地址,請注明出處:http://en.pswp.cn/news/542993.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python獨立log示例_帶有Python示例的math.log1p()方法

python獨立log示例Python math.log1p()方法 (Python math.log1p() method) math.log1p() method is a library method of math module, it is used to get the natural logarithm of 1x (base e), it accepts a number and returns the natural logarithm of 1number on base e…

15947884 oracle_Oracle Patch Bundle Update

一、相關知識介紹以前只知道有CPU(Critical Patch Update)和PSU(Patch Set Update),不知道還有個Bundle Patch,由于出現了TNS-12531的BUG問題&#xff0c;需要在windows上打至少為Patch bundle 22補丁。通過學習查找&#xff1a;Oracle里的補丁具體分為如下這樣6種類型&#xf…

鴻蒙系統hdc,HDC2020有看頭:要揭開鴻蒙系統和EMUI11神秘面紗?

IFA2020算是HDC2020的預熱吧&#xff0c;一個是9月2日在德國柏林舉辦的消費電子展&#xff0c;一個是在松山湖舉辦的華為開發者大會&#xff0c;二者的目的都一樣&#xff0c;但也有一絲不同&#xff0c;IFA是為了讓老外了解HMS、了解華為的智慧生態&#xff0c;而HDC2020就是要…

UVA 12501 Bulky process of bulk reduction ——(線段樹成段更新)

和普通的線段樹不同的是&#xff0c;查詢x~y的話&#xff0c;給出的答案是第一個值的一倍加上第二個值的兩倍一直到第n個值的n倍。 思路的話&#xff0c;就是關于query和pushup的方法。用一個新的變量sum記錄一下這個區間里面按照答案給出的方式的值&#xff0c;比如說&#xf…

gdb ldexp_帶有Python示例的math.ldexp()方法

gdb ldexpPython math.ldexp()方法 (Python math.ldexp() method) math.ldexp() method is a library method of math module, it is used to calculate expression x*(2**i), where x is a mantissa and i is an exponent. It accepts two numbers (x is either float or inte…

windows安裝包刪了會有影響嗎_win7系統刪除系統更新安裝包的詳細教程

win7系統使用久了&#xff0c;好多網友反饋說win7系統刪除系統更新安裝包的問題&#xff0c;非常不方便。有什么辦法可以永久解決win7系統刪除系統更新安裝包的問題&#xff0c;面對win7系統刪除系統更新安裝包的圖文步驟非常簡單&#xff0c;只需要1.其實在win7旗艦版系統中&a…

解壓android img文件怎么打開,解壓壓縮android img文件

boot.imgboot和recovery映像并不是一個完整的文件系統&#xff0c;它們是一種android自定義的文件格式&#xff0c;該格式包括了2K的文件頭&#xff0c;后面緊跟著是用gzip壓縮過的內核&#xff0c;再后面是一個ramdisk內存盤&#xff0c;ramdisk映像是一個最基礎的小型文件系統…

Java String 學習筆記 (一)

2019獨角獸企業重金招聘Python工程師標準>>> ###String 簡介 String 并非java的8大基本數據類型之一。 java中基本數據類型存儲在棧內存中。而String不是&#xff0c;新new的String 對象存儲在堆內存中。而字符串存儲在常量池中。String對象的引用存儲中棧內存中。 …

tau nb_math.tau常數,帶Python示例

tau nbPython math.tau常數 (Python math.tau constant) math.tau constant is a predefined constant, which is defined in math module, it returns the value of mathematical constant "τ" (Tau), the value is 6.283185307179586 math.tau常數是在數學模塊中定…

pcl畫圓球_PCL之軌跡繪制(二)

之前學習點云庫做一些簡單的應用都是直接復制demo的代碼&#xff0c;然后把導入文件改一下&#xff0c;今天嘗試自己寫一些程序&#xff0c;結果錯漏百出&#xff0c;難受的早上&#xff0c;不過堅持了下來&#xff0c;求夸&#xff5e;&#xff5e;&#xff5e;這個主要是一個…

note2 android4.3,玩家們動手吧 Note2安卓4.3固件已泄漏

【PConline 資訊】最近各個牌子的安卓機迎來了升級安卓4.3的大潮&#xff0c;現在三星Galaxy Note2的安卓4.3固件已經泄漏出來了。實際上&#xff0c;此前三星官方已經確認&#xff0c;Galaxy Note3可以獲得官方的安卓4.3固件升級&#xff0c;但具體日期沒有確定&#xff0c;只…

SDP學習筆記

一、SDP規范了回話描述的格式&#xff0c;一般結合會話協議共同工作。 常見的會話傳送協議包括:SAP(Session Announcement Protocol 會話公告協議),SIP,RTSP,HTTP,和使用MIME的E-Mail。 &#xff08;PS&#xff1a;對SAP只能包含一個會話描述,其它會話協議的SDP可包含多個會話描…

sinh_帶有Python示例的math.sinh()方法

sinhPython math.sinh()方法 (Python math.sinh() method) math.sinh() method is a library method of math module, it is used to get the hyperbolic sine of given number in radians, it accepts a number and returns hyperbolic sine. math.sinh()方法是數學模塊的庫方…

android serviceconnection unbind流程,Android unbindService 流程分析

基于Android 6.0的源碼剖析&#xff0c; 分析bind service的啟動流程。/frameworks/base/core/java/android/app/ContextImpl.java/frameworks/base/core/java/android/app/LoadedApk.java/frameworks/base/core/java/android/app/IServiceConnection.aidl(自動生成Binder兩端)…

【JUnit 報錯】 method initializationerror not found:JUnit4單元測試報錯問題

今天是用JUnit測試一段代碼&#xff0c;報錯method initializationerror not found:&#xff1a;出現如下問題&#xff1a; 雙擊這個就顯示出現如下的錯誤&#xff1a; 查詢網上&#xff0c;說是junit版本的問題&#xff1a; 那我就不使用JUnit這個Libernary了&#xff0c;下載…

flash 不顯示 旋轉 補間動畫_【圖片】Flash入門5:詳解制作補間動畫(非傳統補間)【flash軟件吧】_百度貼吧...

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓●●關于補間動畫●●●1、準備事項注意&#xff1a;像 Flash 中的大多數內容一樣&#xff0c;動畫不需要任何 ActionScript。然而&#xff0c;如果您愿意&#xff0c;您可以使用 ActionScript 創建動畫。在創建補間之前&#xff0…

math.ceil帶小數點_Python中帶有示例的math.ceil()方法

math.ceil帶小數點Python math.ceil()方法 (Python math.ceil() method) math.ceil() method is a library method of math module, it is used to get the ceil value of a given number, it accepts a number/numeric expression and returns the smallest integral value wh…

將byte數組以html形式輸出到頁面,java 數組顯示到html

java 數組顯示到html[2021-02-05 01:08:54] 簡介:php去除nbsp的方法&#xff1a;首先創建一個PHP代碼示例文件&#xff1b;然后通過“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推薦&#xff1a;…

JDK各版本新增的主要特性

JDK1.5新特性&#xff1a; 1.自動裝箱與拆箱&#xff1a; 2.枚舉 3.靜態導入&#xff0c;如&#xff1a;import staticjava.lang.System.out 4.可變參數&#xff08;Varargs&#xff09; 5.內省&#xff08;Introspector&#xff09;&#xff0c;主要用于操作JavaBean中的屬性&…

oracle 導入sql文件 漢字亂碼_將現有的sql腳本導入 Oracle 數據庫,中文亂碼問題...

將現有的sql 腳本導入 Oracle數據庫比如 在windows 系統下&#xff0c;可以寫一個 bat 來實現直接導入如&#xff1a;bat 中的內容如下&#xff0c;logs.log 將會記錄執行日志sqlplus user/passworddbname create.sql > logs.logcreate.sql 中的內容可以是需要執行的sql 語句…