在一个夜黑风高的夜晚、在我拨了无数个无法接通后,我接到了一个未知男人的来电。他告诉我……….. “别来骚扰我了,我教你还不行么” 在不求人这条路上我走了好久,痛定思痛后、让我终于明白了一个道理:女友才是真谛~
微信登录
安装微信机器人模块pip install -U wxpy
导入模块
from wxpy import *
初始化机器人,扫码登陆bot = Bot()
通过微信网页版登录、初始化登陆时需要扫码
请求诗词API接口
Token用于鉴别和区分每个用户,获取后 永久有效
获取 Token 的地址为,GET 方法
https://v2.jinrishici.com/token
返回值 { “status”: “success”, “data”: “RgU1rBKtLym/MhhYIXs42WNoqLyZeXY3EkAcDNrcfKkzj8ILIsAP1Hx0NGhdOO1I” }
携带Token请求,在header中指定X-User-Token
通过urllib3构造请求头
http = urllib3.PoolManager()result = http.request('GET','https://v2.jinrishici.com/sentence',headers={'X-User-Token': RgU1rBKtLym/MhhYIXs42WNoqLyZeXY3EkAcDNrcfKkzj8ILIsAP1Hx0NGhdOO1'})
计划任务
python时间调度框架APScheduler,APScheduler 四个组件分别为:触发器(trigger),作业存储(job store),执行器(executor),调度器(scheduler)。 其中触发器(trigger)规则有三种
- date #基础规则只会执行一次
- cron #计划任务、指定时间循环执行
- interval #间隔任务、指定时间段循环执行
scheduler = BlockingScheduler()scheduler.add_job(job, 'cron', day_of_week='1-5', hour=8, minute=20)# job为具体的执行函数,后面为时间定义:每天最好的时间给最好的她送去最好的诗词....scheduler.start()
全部代码
from wxpy import *import urllib3import jsonfrom apscheduler.schedulers.blocking import BlockingScheduler'''初始化登录状态,搜索的好友名称为自己通讯录中的备注名返回结果为list'''bot = Bot()kele = bot.friends().search('可乐')[0]sched = BlockingScheduler()def send_message():'''通过API获取json格式诗词、并解析出对应的 标题、作者、内容title: 诗词名author: 作者origin: 内容'''http = urllib3.PoolManager()result = http.request('GET','https://v2.jinrishici.com/sentence', headers={'X-User-Token': '*******'})s = json.loads(result.data)title = s['data']['origin']['title']author = s['data']['origin']['dynasty'] + '--' + s['data']['origin']['author']origin = json.loads(result.data)['data']['origin']['content']message = "{}\n{}\n{}\n".format(title,author,origin)kele.send(message) #发送消息def cron(event):'''周一至周五早上8:20执行任务'''sched = BlockingScheduler()sched.add_job(event, 'cron', day_of_week='1-5', hour=8, minute=20)sched.start()if __name__ == "__main__":cron(send_message)
参考
APScheduler
今日诗词
wxpy:用Python玩微信
GitHub

