python实现微信定时每天和女友发送消息

yipeiwu_com7年前Python基础

但凡有些事情重复时,我就在想怎么可以用程序来自动化。这里想分享如何每天给女友定时微信发送”晚安“,如果只是晚安,就略显单调,于是爬取金山词霸每日一句,英文和翻译,借此设定定时器进行发送。

准备:

pip install wxpy
pip install requests

实现代码:

from __future__ import unicode_literals
from threading import Timer
from wxpy import *
import requests
import random
bot = Bot()
# linux执行登陆请调用下面的这句
#bot = Bot(console_qr=2,cache_path="botoo.pkl")
def get_news():
 
 """获取金山词霸每日一句,英文和翻译"""
 url = "http://open.iciba.com/dsapi/"
 r = requests.get(url)
 content = r.json()['content']
 note = r.json()['note']
 return content, note
 
def send_news():
 try:
 contents = get_news()
 # 你朋友的微信名称,不是备注,也不是微信帐号。
 my_friend = bot.friends().search('fairy')[0]
 my_friend.send(contents[0])
 my_friend.send(contents[1])
 my_friend.send(u"晚安")
 # 每86400秒(1天),发送1次
 t = Timer(86400, send_news)
 # 为了防止时间太固定,于是决定对其加上随机数
 ran_int = random.randint(0,100)
 t = Timer(86400+ran_int,send_news)
 
 t.start()
 except:
 
 # 你的微信名称,不是微信帐号。
 my_friend = bot.friends().search('威风大侠')[0]
 my_friend.send(u"今天消息发送失败了")
 
if __name__ == "__main__":
 send_news()

效果截图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中typing模块与类型注解的使用方法

实例引入 我们知道 Python 是一种动态语言,在声明一个变量时我们不需要显式地声明它的类型,例如下面的例子: a = 2 print('1 + a =', 1 + a) 运行...

Python实现判断一个字符串是否包含子串的方法总结

本文实例总结了Python实现判断一个字符串是否包含子串的方法。分享给大家供大家参考,具体如下: 1.使用成员操作符 in >>> s='nihao,shijie'...

python迭代器的使用方法实例

什么是迭代器?迭代器是带有next方法的简单对象,当然也要实现__iter__函数。迭代器能在一序列的值上进行迭代,当没有可供迭代时,next方法就会引发StopIteration 的异...

python下实现二叉堆以及堆排序的示例

堆是一种特殊的树形结构, 堆中的数据存储满足一定的堆序。堆排序是一种选择排序, 其算法复杂度, 时间复杂度相对于其他的排序算法都有很大的优势。 堆分为大头堆和小头堆, 正如其名, 大头堆...

python队列queue模块详解

队列queue 多应用在多线程应用中,多线程访问共享变量。对于多线程而言,访问共享变量时,队列queue是线程安全的。从queue队列的具体实现中,可以看出queue使用了1个线程互斥锁...