专栏名称: Python之禅
分享Python相关技术干货,偶尔扯扯其它的
目录
相关文章推荐
Python中文社区  ·  揭秘 DeepSeek ... ·  昨天  
Python开发者  ·  DeepSeek 下棋靠忽悠赢了 ... ·  3 天前  
Python爱好者社区  ·  “给我滚出贵大!”郑强出任贵州大学校长,打算 ... ·  4 天前  
Python爱好者社区  ·  节后第一个私活,赚了3w ·  3 天前  
Python开发者  ·  国产 DeepSeek V3 ... ·  6 天前  
51好读  ›  专栏  ›  Python之禅

用 Python 自动定时发微博

Python之禅  · 公众号  · Python  · 2020-02-21 18:06

正文


其实小帅b已经挺久没有玩微博了,记得上次玩微博还是为了给周杰伦打榜,不过最近心血来潮,觉得俺的微博账号躺着也是躺着,要不就用 Python 做一个自动定时发微博的机器人,让它在上面飘一会。

怎么个飘法呢?





这不禁让我想到了一个叫做 “古城钟楼” 的微博账号,每天都定时定点的在上面 “铛铛档”,其它的啥也不干,但牛逼的是,人家就凭 “铛铛档” 就有了 100 多万粉丝,我特么都快给跪下了。




所以我也打算弄一个类似这样的微博机器人,我要做的是,每隔一段时间就发布一条关于 “年度进度” 的微博,告诉你一年过去百分之多少了。比如:

2020 年进度:

[#-------------------]4%






事不宜迟,先把我的微博名称给改了,就叫做 “ 我的年度进度条 ” 吧,再把签名改成 “ 给时间打上 tag ” 。





瞬间有点逼格了, 帅b微博百万粉指日可待!!







那么如何实现定时发微博呢? 接下来就是:


学习 Python 的正确姿势




遇事不决,量子力学,去微博的开放平台逛一波,果然发现了一个写入微博的 API:





进去看了下,是一个 POST 请求,需要携带两参数,一个 token, 一个要发微博的内容:





上面说了,token 参数需要采用 OAuth 授权后才能获得。


所以得先登录上去注册一个应用:





反正就是一顿创建之后拿到应用相关的 App Key, App Secret 等参数,有了它们才可以去获取 token 从而使用发微博的 API。




遇事不决,量子力学,在 PyPI 上面搜下 weibo ,果然有人用 Python 封装好了微博接口请求的 API :





第一个点进去看看介绍:





唉呀妈呀,这正是我想要的哇,Python 又帮我省下了不少时间,哎,人生苦短呀。






那就 install 一波呗:




开始撸下代码,创建一个 weibo_robot.py ,然后把需要的库导进来:





这个 weibo 库的获取 token 是这样的:






那就把它写成一个方法,然后等下把参数塞进去就可以了:






把刚刚在微博开放平台获到的参数,和自己微博账号密码给定义好:




有了参数就可以获取 weibo 的 client 了:




有了 client 就可以调用 share 接口来发微博了,来测试一下:





运行一波:





报错了,文本找不到域名?我就纳闷了呀,为啥要 domain?


再仔细看下文档才发现还要带上域名的:





好吧,带上俺绑定的域名试试看:





再运行一波,没报错了,打开俺的微博看看:





可以可以,发布成功,不过来自 “未通过审核应用” 是什么鬼?


看下开放平台的应用发现:









请到「今天看啥」查看全文