用 Python 自动定时发微博
遇事不决,量子力学,去微博的开放平台逛一波,果然发现了一个写入微博的 API:
进去看了下,是一个 POST 请求,需要携带两参数,一个 token, 一个要发微博的内容:
上面说了,token 参数需要采用 OAuth 授权后才能获得。
所以得先登录上去注册一个应用:
遇事不决,量子力学,在 PyPI 上面搜下 weibo ,果然有人用 Python 封装好了微博接口请求的 API :
第一个点进去看看介绍:
唉呀妈呀,这正是我想要的哇,Python 又帮我省下了不少时间,哎,人生苦短呀。
那就 install 一波呗:
开始撸下代码,创建一个 weibo_robot.py ,然后把需要的库导进来:
这个 weibo 库的获取 token 是这样的:
那就把它写成一个方法,然后等下把参数塞进去就可以了:
有了 client 就可以调用 share 接口来发微博了,来测试一下:
运行一波:
报错了,文本找不到域名?我就纳闷了呀,为啥要 domain?
再仔细看下文档才发现还要带上域名的:
好吧,带上俺绑定的域名试试看:
再运行一波,没报错了,打开俺的微博看看:
可以可以,发布成功,不过来自 “未通过审核应用” 是什么鬼?
看下开放平台的应用发现:
好吧,不管了,先这样,接下来就可以来写一个获取年度进度的方法了。
希望发布的微博格式是这样的:
所以定义一下特定的输出格式:
百分比就是获取当天是新的一年的第几天,然后除以 365 ,而主要的进度条在这里就定义一个这样的字符串:
每一小格代表 5% ,然后每次计算百分比,比如现在就是这样:
而 14% 就是这样:
可以,那就四舍五入下,然后整下字符串替换得了:
再运行一波:
没毛病,那最后就扔到服务器上定时运行脚本了。
可以使用 Linux 的 crontab 定时任务,执行 crontab -e,编辑定时运行脚本,比如定时每天 17 :20 发布微博:
保存退出即可,这样每到了特定的时间,它就会屁颠屁颠的运行了。
ok,就先这样让它在上面飘着吧,之后有时间小帅b再优化优化,毕代码写的有点仓促, API 也可能会变,服务器偶尔会傻逼...,那么我们下回见咯,peace!
你点在看的样子
真特么帅气!!