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设计】。

相关文章

Django中对数据查询结果进行排序的方法

在你的 Django 应用中,你或许希望根据某字段的值对检索结果排序,比如说,按字母顺序。 那么,使用 order_by() 这个方法就可以搞定了。 >>> Pub...

python实现邮件发送功能

什么是POP3、SMTP和MAP? POP3是Post Office Protocol 3的简称,即邮局协议的第三个版本,他是规定怎样将个人计算机连接到Internet的邮件服务器和下载...

Python中的MongoDB基本操作:连接、查询实例

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可护展的高性能数据存储解决方案。它的特点是高性能、易部署、易使用,存储数据非常方便。 MongoDB...

在Django的上下文中设置变量的方法

前一节的例子只是简单的返回一个值。 很多时候设置一个模板变量而非返回值也很有用。 那样,模板作者就只能使用你的模板标签所设置的变量。 要在上下文中设置变量,在 render() 函数的c...

Python中处理时间的几种方法小结

从一个字符串开始 在CODE上查看代码片派生到我的代码片 >>>time_str='2008-08-08 08:08:08'  1.1.转换...