Python 如何实现自动发微博?

sinaweibopy 不能自动授权发微博,有的时候还报错,有没有其他可行的轮子或方案。
还有就是 basic 的授权在 wordpress 上居然可行,python 一直报错 说已经禁止
Python 如何实现自动发微博?

18 回复

微博有开放 API


要自动发微博,最直接的方式是使用微博开放平台的API。这里给你一个完整的示例,使用weibo第三方库实现:

import weibo

def send_weibo(access_token, content):
    """
    发送微博
    :param access_token: 用户授权令牌
    :param content: 微博内容
    """
    # 创建API客户端
    client = weibo.APIClient(
        app_key='你的APP_KEY',
        app_secret='你的APP_SECRET',
        redirect_uri='你的回调地址'
    )
    
    # 设置访问令牌
    client.set_access_token(access_token, expires_in=3600)
    
    # 发送微博
    try:
        result = client.statuses.update.post(status=content)
        print(f"微博发送成功!微博ID: {result['id']}")
        return True
    except Exception as e:
        print(f"发送失败: {str(e)}")
        return False

# 使用示例
if __name__ == "__main__":
    # 需要先获取access_token(通过OAuth2授权流程)
    ACCESS_TOKEN = "你的ACCESS_TOKEN"
    weibo_content = "这是通过Python自动发送的微博!"
    
    send_weibo(ACCESS_TOKEN, weibo_content)

关键步骤:

  1. 注册微博开放平台应用:去微博开放平台创建应用,获取APP_KEYAPP_SECRET

  2. 安装依赖pip install weibo

  3. 获取access_token

    • 通过OAuth2授权流程获取用户授权
    • 可以使用client.get_authorize_url()获取授权URL
    • 用户授权后回调获取code,再用code换access_token
  4. 权限注意:应用需要申请"写入微博"接口权限

简单封装定时发送:

import schedule
import time

def scheduled_weibo():
    # 这里可以连接数据库或读取文件获取内容
    content = f"定时微博 {time.strftime('%Y-%m-%d %H:%M:%S')}"
    send_weibo(ACCESS_TOKEN, content)

# 每天10点发送
schedule.every().day.at("10:00").do(scheduled_weibo)

while True:
    schedule.run_pending()
    time.sleep(60)

总结:用官方API最稳。

是的 但是这个授权还要手动,并且跑不动

我记得授权一次活跃状态下 TOKEN 有效期有 5 年之久

ahk 在 pc 上用网页发

楼上两位的头像真雷同,我还以为楼主在和自己说话。

拿到 token 就可以自动了

一两年前写过

模拟登录

我前几天分享了微博模拟登录的方案,可以加我微信 lujqme

楼上两位俄罗斯方块,下面的头朝下插上,不知道能不能消除一行,O(∩_∩)O

你的回复真配你的头像, 逗比 XD

#4 真的不看一下标题吗?

可以贴代码看看不

21333 forbid use this authentication type: basic


1 楼头像去掉 1 层,我跟他合体能消掉 2 层

回到顶部