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)
关键步骤:
-
注册微博开放平台应用:去微博开放平台创建应用,获取
APP_KEY和APP_SECRET -
安装依赖:
pip install weibo -
获取access_token:
- 通过OAuth2授权流程获取用户授权
- 可以使用
client.get_authorize_url()获取授权URL - 用户授权后回调获取code,再用code换access_token
-
权限注意:应用需要申请"写入微博"接口权限
简单封装定时发送:
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
你的回复真配你的头像, 逗比 XD
#4 真的不看一下标题吗?
可以贴代码看看不
21333 forbid use this authentication type: basic
1 楼头像去掉 1 层,我跟他合体能消掉 2 层


