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

相关文章

Python多线程threading和multiprocessing模块实例解析

Python多线程threading和multiprocessing模块实例解析

本文研究的主要是Python多线程threading和multiprocessing模块的相关内容,具体介绍如下。 线程是一个进程的实体,是由表示程序运行状态的寄存器(如程序计数器、栈指...

浅析python 中大括号中括号小括号的区分

python语言最常见的括号有三种,分别是:小括号( )、中括号[ ]和大括号也叫做花括号{ }。其作用也各不相同,分别用来代表不同的python基本内置数据类型。 1.python中的...

Pycharm学习教程(5) Python快捷键相关设置

Pycharm学习教程(5) Python快捷键相关设置

Python快捷键相关设置,具体内容如下 1、主题   毫无疑问Pycharm是一个具有强大快捷键系统的IDE,这就意味着你在Pycharm中的任何操作,例如打开一个文件、切换编辑区域等...

python的pytest框架之命令行参数详解(下)

python的pytest框架之命令行参数详解(下)

前言 上篇说到命令行执行测试用例的部分参数如何使用?今天将继续更新其他一些命令选项的使用,和pytest收集测试用例的规则! pytest执行用例命令行参数 --collect-on...

Python二进制串转换为通用字符串的方法

一个小问题 今天在做一个实验时,需要对一个包含中英文词汇的TXT文件进行读入和整理。 Python代码的编码规则为UTF-8。在读入时,文件的每行是二进制串,形如: b'heroes...