獲取新浪微博的Access_token


最近想爬取新浪微博的評論,百度了一下,有個新浪開放平台提供了這個API

於是按照它的說明,去獲取Access_token:

1、點擊微鏈接

2、立即創建微鏈接

3、選擇網頁應用

4、填寫信息后提交

5、應用創建完后可以在“我的應用”中查看信息

6、在“應用信息”--“高級信息”中可以設置網站的授權回調頁和取消授權回調頁,記住自己的授權回調頁

7、進入

https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI

YOUR_CLIENT_ID:即應用的AppKey,可以在應用基本信息里查看到。

YOUR_REGISTERED_REDIRECT_URI:即之前填寫的授權回調頁,注意一定要完全相同。

如果用戶授權成功后,會跳轉到回調頁,開發者此時需要得到url參數中的code值,注意code只能使用一次。

8、參考文檔

訪問如下頁面得到Access Token:

https://api.weibo.com/oauth2/access_token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&code=CODE

我的問題就出在這里:

這一步得到錯誤:

{"error":"HTTP METHOD is not suported for this request!","error_code":10021,"request":"/oauth2/access_token"}
查找錯誤信息發現是請求方式不對,應該是post方式,我們上面這樣屬於get方式
於是自己編寫python代碼:
import urllib2
import urllib
values={}
values['client_id'] = '*****'
values['client_secret'] = '****'
values['grant_type'] = '------'
values['code'] = '-------'
values['redirect_uri'] = '------'
data = urllib.urlencode(values)
url = "https://api.weibo.com/oauth2/access_token"
request = urllib2.Request(url,data)    #使用post方法
# geturl = url+'?'+data
# request = urllib2.Request(geturl) #get()方法
response = urllib2.urlopen(request)
print response.read()

得到Access_token,接下來就可以自己寫代碼爬取評論了。

參考:http://www.cnblogs.com/e241138/archive/2013/03/15/sina-weibo-oauth-access_token.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM