用 Python 自动定时发微博

其实小帅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?

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

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

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

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

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

好吧,不管了,先这样,接下来就可以来写一个获取年度进度的方法了。

希望发布的微博格式是这样的:

xxxx 年进度:
[#-------------------]xx%

所以定义一下特定的输出格式:

其中的 years 可以通过 datetime 获取:

百分比就是获取当天是新的一年的第几天,然后除以 365 ,而主要的进度条在这里就定义一个这样的字符串:

每一小格代表 5% ,然后每次计算百分比,比如现在就是这样:

而 14% 就是这样:

可以,那就四舍五入下,然后整下字符串替换得了:

再运行一波:

没毛病,那最后就扔到服务器上定时运行脚本了。

可以使用 Linux 的 crontab 定时任务,执行 crontab -e,编辑定时运行脚本,比如定时每天 17 :20 发布微博:

保存退出即可,这样每到了特定的时间,它就会屁颠屁颠的运行了。

ok,就先这样让它在上面飘着吧,之后有时间小帅b再优化优化,毕代码写的有点仓促, API 也可能会变,服务器偶尔会傻逼...,那么我们下回见咯,peace

你点在看的样子

真特么帅气!

(0)

相关推荐

  • Python之API:基于python语言调用华为云API(华为网站)实现特定功能

    Python之API:基于python语言调用华为云API(华为网站)实现特定功能 相关文章 Python之API:基于python语言调用华为云API(华为网站)实现特定功能 Python之API: ...

  • 做时间的朋友 —— 用印象笔记打造时间记录工具

    相信很多朋友听说或读过李笑来写的<把时间当作朋友>,其中介绍了一个记录时间日志的方法,用来帮助我们了解自己的状态,培养对时间的感知.但是实践起来并不容易,特别是没有好的记录工具,今天介绍下 ...

  • 利用Python 自动抓取微博热搜,并定时发送至邮箱

    最近微博的瓜一个接一个,本文就将介绍如何用 Python 自动抓取微博热搜,并定时发送到QQ邮箱.主要分为三部分: 爬取微博热搜 整理数据与发送邮箱 定时执行 一.抓取热搜数据 进入微博热搜榜http ...

  • Python自动发图片邮件

    但是什么都架不住领导的需求,领导说自己不爱看附件,就想正文里看到数据,怎么办呢? 第一反应感觉更好了,毕竟就不用弄Excel表了,于是就开干了 1. 数据库连接取数 import pandas as ...

  • python自动发邮件总结及实例说明

    python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是python自带的,只需import即可使用.smtplib模块主要负责发送邮件,email模块主要负责构造邮件. sm ...

  • 病凡定时发作者,我常用这个方

    中医书友会第1542期 每天一期,陪伴中医人成长 I导读:郝万山经方故事(二)故事9里也有一个定时发热案,读者可以同参.(编辑/王超) 病痛有时症 作者/张显臣 所谓病痛有时症,就是发病的时间有一定的 ...

  • python自动登录网银

    内容会同步分享到公众号:CPA君 中国银行网银自动下载,直接上代码 # 代码开始 from selenium import webdriver import time import datetime ...

  • Python自动安装第三方库的小技巧,让你的代码拿来就用

    大家好,我是Python之眼. 最近周末也加班了,害...... 有刚接触python的粉丝同学在运行此前<Python爬虫> | 手把手教你扒一扒贝壳网成交房源数据>的完整代码遇到 ...

  • 用Python自动生成Excel数据报表!

    来自:法纳斯特 作者:小F 之前小F分享了不少关于Python自动化操作Excel的文章,大家都挺喜欢的. 所以今天就带大家来实战一波,使用Python自动化生成数据报表! 从一条条的数据中,创建出一 ...

  • 手机内存也有“公摊”?!岳云鹏发微博“打假”!

    超萌超可爱的[躺倒鸭第十一弹]表情包来啦! 快长按图片识别二维码下崽鸭! 自从罗永浩告别手机圈后,没有相声听的鸭鸭就盯上了德云社. 毕竟,看科技圈KOL也就图一乐,真干货还得听相声圈. 这不,眼瞅着老 ...

  • 怼网友发微博,她也被说放飞自我了,是为了黑红吗?

    本文由明星粉丝团作者芦笙原创,未经允许不得转载 第二季<乘风破浪的姐姐>已经快要接近尾声了,有很多观众都会感叹,这一季的节目实在是太糊了,刚开始还有点热度,到了后期,哪怕是那英,张柏芝,杨 ...