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

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

相关文章

pycharm 使用心得(四)显示行号

pycharm 使用心得(四)显示行号

在PyCharm 里,显示行号有两种办法: 1,临时设置。右键单击行号处,选择 Show Line Numbers。 但是这种方法,只对一个文件有效,并且,重启PyCharm 后消失。...

完美解决Pycharm无法导入包的问题 Unresolved reference

完美解决Pycharm无法导入包的问题 Unresolved reference

如下所示: Unresolved reference 'ERROR_CODE_INPUT_ERROR' less... (Ctrl+F1) This inspection dete...

Python多线程同步---文件读写控制方法

Python多线程同步---文件读写控制方法

1、实现文件读写的文件ltz_schedule_times.py #! /usr/bin/env python #coding=utf-8 import os def ReadTi...

Django如何简单快速实现PUT、DELETE方法

使用django的小伙伴们应该都知道我们是无法开心的处理PUT跟DELETE的 $.ajax({ url: 'XXX', type: 'PUT', dataType: '...

归纳整理Python中的控制流语句的知识点

程序流 Python 解释器在其最简单的级别,以类似的方式操作,即从程序的顶端开始,然后一行一行地顺序执行程序语句。例如,清单 1 展示了几个简单的语句。当把它们键入 Python 解释...