python:从0开始自动发微博


前言

由于学院的微博需要发早安,晚安,而我经常忘记发,所以索性写个自动发微博的程序,放到服务器上。。。。。



一、微博

1.注册一个微博

2.注册一个应用

在这里插入图片描述
在这里插入图片描述
名称随便取一个就行,分类和平台选择我们最熟悉的windows就可以了
在这里插入图片描述
应用地址随便填一个,安全域名这时候可以不填,也可以填。(安全域名只支持传统域名.com .cn 非传统域名.xyz等会提示错误)

还是说一下吧,现在用接口发微博发出来会带一个 #网页链接 在这里插入图片描述
强制带上一个链接,这个链接如果没有给就会报错,如果给了但不是安全域名的子链接还是会报错

在这里插入图片描述
授权回调页随便填一个就行

微博的操作到此结束

二、Python

1.授权

代码如下(示例):

import requests
try:
    from urllib.parse import urlencode
except ImportError:
    from urllib import urlencode

API_KEY = '申请后给你的App Key'
REDIRECT_URI = '授权回调页的网址'
url = 'https://api.weibo.com/oauth2/authorize'

def get_url():
    params = {
        'client_id': API_KEY,
        'redirect_uri': REDIRECT_URI
    }
    return "{0}?{1}".format(url, urlencode(params))


print(get_url())

输出结果
在这里插入图片描述
点击这个链接 之后点击授权 之后会跳转到一个新的网页
在这里插入图片描述
把code之后的红框里的东西复制下来

import requests
import json
try:
    from urllib.parse import urlencode
except ImportError:
    from urllib import urlencode

API_KEY = '申请后给你的App Key'
API_SECRET = '申请后给你的App Secret'
CODE = '刚才你复制的东西'
REDIRECT_URI = '授权回调页的网址'
access_token_url = 'https://api.weibo.com/oauth2/access_token'


params = {
    'client_id': API_KEY,
    'client_secret': API_SECRET,
    'grant_type': 'authorization_code',
    'code': CODE,
    'redirect_uri': REDIRECT_URI
}
res = requests.post(access_token_url, data=params)
token = json.loads(res.text)
print(token)

输出结果

{
  'access_token': 'xxx',
  'remind_in': '157679999',
  'expires_in': 157679999,
  'uid': 'xxx',
  'isRealName': 'true'
}

把’access_token’: ‘xxx’,中的xxx复制下来,5年之内就不用再次授权了

2.开始发微博了

在这里插入图片描述

import requests
access_token =  'xxx'
url = "https://api.weibo.com/2/statuses/share.json"
params = {
    "access_token": access_token,
    "status": "文字+网址"
}
files={
"pic":open("图.jpg","rb")
}
res = requests.post(url,data = params, files = files)

可能出现的错误

  1. 错误:21322 重定向地址不匹配

    检查授权回调链接是否填写

  2. 错误:appkey not bind domain

    检查安全域名是否填写

  3. 错误:text not find domain!

    检查要发送的内容是否包含链接,因为现在新浪微博强制要求要带链接。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值