使用新浪微博开放平台api同步微博内容至自己网站(安装微博python的安装方式及解决方案)
优采云 发布时间: 2021-11-27 18:19使用新浪微博开放平台api同步微博内容至自己网站(安装微博python的安装方式及解决方案)
1:获取app-key和app-secret
使用自己的微博账号登录微博开放平台(),在微博开放中心下的“创建应用”下创建一个应用。随意填写申请信息。填写后无需提交审核。您只需要应用密钥和应用机密
二:设置授权回调页面
在“微博开放平台”的“管理中心”找到刚刚创建的应用,点击应用,点击左侧的“应用信息”栏。你会看到“App key”和“App Secret”这两个字眼,这两个东西是下面程序中要用到的。然后点击“申请信息”下“高级信息”中的“编辑”按钮,将“授权回调页面”设置为:,同时将“取消授权回调页面”设置为:。
三:安装微博python SDK
有两种安装方法:
1:下载新浪微博SDK
2:Python有一个简单的安装方法:直接在命令行输入:
sudo pip install sinaweibopy
4:实例验证,获取当前登录用户及其关注用户的最新微博(授权)
这里需要注意的是,浏览器会弹出一个页面,必须先点击“Authorize”(这里进行的是OAuth 2认证,我理解是指用户访问我的应用后,页面被定向到新浪服务器并且用户将信息输入到新浪服务器并授权给我的应用访问用户数据,这里我授权微博给以下程序),授权后浏览器中的URL类似:复制代码后面的那个到控件最后,程序需要读取数据 2024222384d5dc88316d21675259d73a
注意:如果要获取其他信息,只需修改
statuses = client.statuses__friends_timeline()['statuses']
状态__朋友_时间线在
# -*- 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'] #获取当前登录用户以及所关注用户(已授权)的微博
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']
结果如下(截取部分数据):
以下是我以下用户的微博:
以上面的代码为例,我们得到的信息是: