python微信群定时发早安_Python每天定时发早安晚安语录

昨天在技术群里问大家七夕节礼物准备好了吗?大多数男程序员回复姿势都是这样的:

程序员有女朋友?

new 一个就行。

Python 只要内存够,想 new 多少个对象都不是问题。

由于行业环境的原因,程序员单身的确实多,这也是程序员的世纪难题。

今天,不是给大家发对象,只教大家方法。今天教大家怎么用 Python 给心动的人每天定时发早安或者晚安。

前提条件是,你得有一个心动对象。哇,我连心动对象都没有怎么办?骚年,那你还不赶紧行动,去寻找你的心动的 TA。

好了,直接进入今天的主题。

找对象环境

语言:Python3

编辑工具:Pycharm

导包

wxpy:操作微信的库,机器人陪你唠嗑那篇文章也用到过。

requests:用来请求目标网站。

Timer:定时器,是 Thread 的派生类,用于在指定时间后调用一个方法。

Python

from wxpy import *

import requests

from threading import Timer

1

2

3

fromwxpyimport*

importrequests

fromthreadingimportTimer

登录微信

Bot 对象,用于登陆和操作微信账号,涵盖大部分 Web 微信的功能。cache_path,设置当前会话的缓存路径,并开启缓存功能,为 None (默认) 则不开启缓存功能。开启缓存后可在短时间内避免重复扫码,缓存失效时会重新要求登陆。设为 True 时,使用默认的缓存路径 「wxpy.pkl」。

Python

bot = Bot(cache_path=True)

1

bot=Bot(cache_path=True)

获取语句

从金山词霸每日一句接口获取语录,用 requests 请求 api 地址,返回英文美句和中文翻译。

Python

def get_msg():

url = 'http://open.iciba.com/dsapi/' # 金山词霸每日一句 api 链接

html = requests.get(url)

content = html.json()['content'] # 获取每日一句英文语句

note = html.json()['note'] # 获取每日一句英文的翻译语句

return content, note

1

2

3

4

5

6

defget_msg():

url='http://open.iciba.com/dsapi/'# 金山词霸每日一句 api 链接

html=requests.get(url)

content=html.json()['content']# 获取每日一句英文语句

note=html.json()['note']# 获取每日一句英文的翻译语句

returncontent,note

发送语句

接下来把上面获取的语句发送给心动的人,输入你心动的人自己的微信昵称,注意:这里不是你对 TA 的备注,也不是 TA 的微信号,而是 TA 自己设置的微信昵称。我这里是发送给自己的小号「机器人」。自己定义的内容可以改成你觉得合适的语句。我们需要每日发送一次,用定时器设置时间为一天的秒数:86400 秒。

Python

def send_msg():

try:

msgs = get_msg()

content = msgs[0]

note = msgs[1]

my_friend = bot.friends().search(

u'机器人')[0] # 此处是对方自己的昵称,不是微信号,也不是你的备注。

my_friend.send(content) # 发送英文语句

my_friend.send(note) # 发送英文翻译

my_friend.send(u'来自 brucepk 的问候') # 自定义语句,根据自己情况更改

t = Timer(10, send_msg) # Timer(定时器)是 Thread 的派生类,用于在指定时间后调用一个方法。

t.start()

except BaseException:

my_friend = bot.friends().search(u'brucepk')[

0] # 发送不成功,则发送消息给自己,提醒消息发送失败

my_friend.send(u'消息发送失败')

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

defsend_msg():

try:

msgs=get_msg()

content=msgs[0]

note=msgs[1]

my_friend=bot.friends().search(

u'机器人')[0]# 此处是对方自己的昵称,不是微信号,也不是你的备注。

my_friend.send(content)# 发送英文语句

my_friend.send(note)# 发送英文翻译

my_friend.send(u'来自 brucepk 的问候')# 自定义语句,根据自己情况更改

t=Timer(10,send_msg)# Timer(定时器)是 Thread 的派生类,用于在指定时间后调用一个方法。

t.start()

exceptBaseException:

my_friend=bot.friends().search(u'brucepk')[

0]# 发送不成功,则发送消息给自己,提醒消息发送失败

my_friend.send(u'消息发送失败')

捕捉异常,如果发送失败的话,则发送消息给自己,提醒消息发送失败。

执行函数

最后运行主函数,即可大功告成。

Python

if __name__ == '__main__':

send_msg()

1

2

if__name__=='__main__':

send_msg()

运行结果

这样的话,岂不是一直都需要程序时刻都在运行?可以放在服务器上,我上网查了下,某云服务器可以试用半年。好了,骚年,我只能帮你到这了,接下来,看你自己的行动了。希望单身的你尽快追到心动的 TA。

在我的公众号后台回复「对象」获取源码。

你可能感兴趣的:(python微信群定时发早安)