以前以为微信没有接口和python连接,但是最近发现了个库wechat_sender,然后就稍微学习了下。还不深入,写了一个简易的测试程序作为初步进入。
需要用到的库有 threading, wxpy前者需要用到Timer这个函数,作为定时器使用。后者wxpy用到Bot函数,加载登录微信的二维码。所以需要安装这两个库,使用pip或者pycharm的设置添加库,都可以安装。
具体实施代码,如下:可以自行扩充代码内容,这只是实现了发送的基本框架。
from threading import Timer
from wxpy import Bot
bot = Bot(cache_path='./微信登录二维码.png')
'''
加载二维码,登录进入。位置放在同目录下就行。
'''
def send_news():
try:
Friend = bot.friends().search(u'朋友的昵称')[0]
'''
这里的昵称,不是备注,不是微信号,就是原本朋友的昵称,下面的昵称也是如此。
'''
Friend.send(get_txt())
# send发送的参数,是get_txt()的返回内容,就是要发送的内容。
# 每个人要发送的不一样,这个函数就自己单独实现吧。很容易
# Friend.send(u'晚安') # 这句话加的有点废话,不过也是多发条消息。
t = Timer(20, send_news)
'''
这里有坑,之前是这样写的Timer(20,send_news('txt')),这样写的结果就是错
第一次发送没问题,之后发送的就出现了问题,说是找不到对象,碰一次就遇到了。
我这个send_news()函数没有参数,如果你要加参数的话,如下这样加:
t = Timer(20, send_news, [参数])
'''
t.start()
except:
Friend = bot.friends().search("自己的昵称")[0]
Friend.send(u'消息发送失败')
if __name__ == '__main__':
t = Timer(20, send_news)
'''
这里也需要和send_news函数中的定时器一样的写法。
最开始想使用while()循环,一直循环定时器,这样根本是行不通的。
'''
t.start()