您的位置:首页 > 编程语言 > Python开发

使用新浪微博官方API抓取微博数据(Python版)

2016-10-31 15:27 633 查看
一、安装环境

从网站:http://github.liaoxuefeng.com/sinaweibopy/  下载安装SDK,

然后就可以看一下网站:https://github.com/michaelliao/sinaweibopy/wiki/OAuth2-HOWTO  的说明

二、一个简单的例子

# coding=utf-8
from weibo import APIClient
import webbrowser # python内置的包

APP_KEY = '你的app_key' # 你的app_key
APP_SECRET = '你的app_secret' # 你的app_secret
CALLBACK_URL = 'http://www.baidu.com' # 网站回调地址

# 在网站设置"使用微博账号登陆"的链接,当用户点击链接后,引导用户跳转至如下地址
# 利用官方微博ADK
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

# 用户授权后,将跳转至网站回调地址,并附加参数code=abcd1234

# 获取URL参数code:
print "输入url中code后面的内容后按回车键:"
code = raw_input() # 人工输入网址后面的code内容

r = client.request_access_token(code) # 获得用户授权

# 保存access_token, expires_in
access_token = r.access_token # 新浪返回的token,类似abc123xyz456
expires_in = r.expires_in
# 设置得到的access_token,client可以直接调用API了
client.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]['created_at']
print u'昵称:' + statuses[i]['user']['screen_name']
print u'简介:' + statuses[i]['user']['description']
print u'位置:' + statuses[i]['user']['location']
print u'微博:' + statuses[i]['text']
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: