海风zZ 发表于 2019-1-9 14:26:52

用Python写了一个微信提醒备忘录

1、任务的记录与提取
1).为了便于爬取,推荐使用网页版的在线记事本,现在这种工具很多,我选择“石墨文档”进行操作演示。记录内容的 格式可以根据自己的需求和爬虫自行确定,例如我在11月20日之前记录了一份以下样式的任务清单:
01月08日 6:30 起床
01月08日 8:00 上班
01月08日 11:30 吃饭
01月08日 4:30 下班
01月08日 18:00 学习python
2).模拟登陆
使用爬虫来实现待办事项的提取,发现在线记事本是需要登录的,这里用selenuim进行模拟登陆
然后从代办事项的文档中获取之前编辑好的代办事项(注意编辑待办事项的格式方便爬取)

2、信息推送给微信
说到推送信息到微信,不得不介绍一个很方便的工具——server酱。说的简单一点,server酱就是一款能向目标微信账号发送信息的工具,她最大的有点就是功能简单、使用方便、轻量,使用server酱只需下面几个步骤:
登入:用GitHub账号登入网站,获得自己的SCKEY。
绑定:通过微信扫码关注完成绑定。
发消息:往 http://sc.ftqq.com/SCKEY.send 发GET请求,就可以在微信里收到消息。
另外,server酱还提供了网页版的在线发送工具,可以进行体验和测试。值得一提的是,server酱的初始目的是通过手机监测服务器报警和日志,因此为避免程序出错,限制了每人每天发 送上限500条,相同内容5分钟内不能重复发送,不同内容一分钟只能发送30条。对于本系统来说,这个数据上限 绝对绰绰有余了。

3定时任务与检测
现在我们需要设置一个定时任务,这里使用APScheduler来实现。APScheduler是基于Quartz的一个python定时任务框架,提供了若干种类的调度器,由于我们的定时任务进在当前进程中执行,所以选择BlockingScheduler调度器,然后通过add_job来动态增加待执行的任务。
关于APScheduler,其实并不需要了解太多,因为它的基本用法非常简单
现在还有一个问题,就是要保证我们的程序始终处于正常运行的状态,上面说过,server酱通过向目标URL发送get请求的方式推送信息,而这个get请求是有返回值的,其格式为“{'errno': 0, 'errmsg': 'success', 'dataset': 'done'}”,其中若errno为0则表示发送成功,否则会在errmsg中给出错误信息。基于此,我们可以依托logging模块记录程序每天的运行状态

最后效果图如下**** Hidden Message *****

海风zZ 发表于 2019-1-10 08:14:11

自己顶一下

Y0uWill_1Will 发表于 2019-1-10 08:48:07

羡慕楼主能4点半下班

海风zZ 发表于 2019-1-10 14:55:51

自己顶一下

想抓兔子的云 发表于 2019-1-17 10:14:44

感谢分享

巅峰~夜煞 发表于 2019-4-11 19:54:20

看看

一X一 发表于 2019-4-11 20:53:23

{:9_241:}{:9_241:}啥时候我也可以做一个

乄雪乾 发表于 2019-4-12 07:32:32

1

hjc757 发表于 2019-4-14 22:13:52

{:5_90:}

風继续吹呀吹 发表于 2019-4-15 11:02:03

看看

做爱的烦恼 发表于 2019-4-15 16:05:10

笑嘻嘻

爬虫大牛 发表于 2019-8-3 23:48:11

谢谢

兮兮武则天 发表于 2019-8-4 00:05:47

海风zZ 发表于 2019-1-9 14:26
1、任务的记录与提取
1).为了便于爬取,推荐使用网页版的在线记事本,现在这种工具很多,我选择“石墨文 ...

要回复才可以看下边的内容

擎海潮2019 发表于 2019-8-6 07:29:26

666

ddr2008 发表于 2019-11-9 17:52:24

学习了!!

jroilee 发表于 2019-11-9 18:45:57

66666666666666666666

tydxs 发表于 2020-6-13 12:10:04

gg

manan.py 发表于 2020-6-13 15:49:56

厉害

百里昊轩 发表于 2023-7-31 17:33:48

感谢
页: [1]
查看完整版本: 用Python写了一个微信提醒备忘录