微博API接入初识【cxn专用】

微博API官方文档

本文介绍

  • 本文环境
  • 成为微博开发者
  • 通过鉴权
  • 获取单条微博内容

环境

  • Windows
  • Python 3.8.10
  • sinaweibopy3-1.3 (pip3 install sinaweibopy3)
  • requests

成为微博开发者

微博官方新手教程 (cxn可以跳过,用博主的即可)

  • 完善身份信息并认证
  • 创建微链接
  • 填写授权回调页
    • 注:https://api.weibo.com/oauth2/default.html

通过鉴权

  • 以下只为获取access_token,采用的是weiboSDK
from weibo import APIClient
import webbrowser

APP_KEY = 'xxx'
APP_SECRET = 'xxx'
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 = input()
r = client.request_access_token(code)
access_token = r.access_token  # 新浪返回的token,类似abc123xyz456
expires_in = r.expires_in
# 获取 access_token
print("access_token, expires_in:", access_token, expires_in)
# 设置得到的access_token
client.set_access_token(access_token, expires_in)
# 获取uid
uid = client.get.account__get_uid()["uid"]
print(uid)

获取单条微博内容

  • 以下使用requests
import json
import requests

access_token = "xxx"
res = requests.get(f"https://api.weibo.com/2/statuses/user_timeline.json?access_token={access_token}")

weibo_list_json = json.loads(res.content)
for weibo_dict in weibo_list_json["statuses"]:
    weibo_id = weibo_dict["id"]
    print(weibo_id)
    res = requests.get(f"https://api.weibo.com/2/statuses/show.json?access_token={access_token}&id={weibo_id}")
    weibo_json = json.loads(res.content)
    # 获取转发量
    print(weibo_json["reposts_count"])
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值