今天是传说中的520,不知你是否已经准备好要表白的话语。为了助你撩妹成功,云厉今天也学着某些人土土的教大家用Python每天给妹纸说晚安。
没错,每天!
用对了Python,每天都过520!
这次真的是面向对象编程!
大致思路是这样:
- 调接口获取每日心灵鸡汤或撩妹话术
- 基于wxpy模块,授权微信登录,搜索聊天对象,发送XX消息
- Timer每日发送
- 后台挂起执行脚本
安装wxpy和requests,
pip3 install wxpy
pip3 install requests
其他如果没安装,也一并安装
下面发送信息脚本send_wx.py,不到40行的代码,注释不多,相信你懂!
# -*- coding: utf-8 -*-
from threading import Timer
from wxpy import *
import requests
bot = Bot(console_qr=2, cache_path='botoo.pkl')
# 她的昵称和你的昵称。是微信昵称,不是备注哦
ta_name = '若';
my_name = '云厉';
# 从金山词霸获取每日鸡汤,英文和翻译,如果你有更好的鸡汤数据源,也可以更换
def get_message():
url = "http://open.iciba.com/dsapi/"
r = requests.get(url)
contents = r.json()['content']
translation= r.json()['translation']
return contents, translation
# 给TA发送晚安信息
def send_message():
try:
message = get_message()
# 搜索聊天对象,并ensure_one保证她的昵称在你的微信好友列表里只有一个
my_love = ensure_one(bot.search(ta_name, sex=FEMALE))
# 发送鸡汤
my_love.send(message[0])
my_love.send(message[1][5:])
my_love.send(u'亲爱的,晚安!爱你~')
# 每86400秒(1天),发送1次
t = Timer(86400, send_message)
t.start()
except:
my_self = ensure_one(bot.search(my_name, sex=MALE))
my_self.send(u'今天撩妹消息发送失败了')
if __name__ == '__main__':
send_message()
# 丢后台跑起来!
nohup python3 send_wx.py > send_wx.log 2>&1 &
首次运行,脚本会生成二维码,需要授权登录。这也是为什么在脚本内用Timer定时发送而不用Linux的cron,就是为了不要每次都授权登录,太麻烦!
测试一把,效果如下:
wxpy还能干啥?
- 控制路由器、智能家居等具有开放接口的玩意儿
- 运行脚本时自动把日志发送到你的微信
- 加群主为好友,自动拉进群中
- 跨号或跨群转发消息
- 自动陪人聊天
- 逗人玩
- ...
总而言之,可用来实现各种微信个人号的自动化操作
如果你有兴趣,欢迎关注微信公众号:程序员到架构师,不定期更新各种各样的Python技术