传智播客博学谷
微信号:boxuegu-
get最新最全的IT技能
免费领取各种视频资料
快过年了,大家都准备好带男/女朋友回家过年了嘛?可能大多数的程序员回答都是这样的:
程序员要女朋友?
new 一个就行。
只要内存够,想 new 多少个对象都没问题。
但是过年回家这么说恐怕七大姑八大姨一定会“刨根问底”然后又是一顿血雨腥风...
所以小谷来一个神助攻!没有方法论的发对象都是耍流氓,今天教大家怎么用 Python 给心动的TA每天定时发早安或者晚安。
好了,直接进入今天的主题。
找对象环境
语言:Python3
编辑工具:Pycharm
导包
wxpy:操作微信的库。
requests:用来请求目标网站。
Timer:定时器,是 Thread 的派生类,用于在指定时间后调用一个方法。
fromwxpyimport*
importrequests
fromthreadingimportTimer
登录微信
bot= Bot(cache_path=True)
获取语句
从金山词霸每日一句接口获取语录,用 requests 请求 api 地址,返回英文美句和中文翻译。
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 秒。
defsend_msg():
try:
msgs = get_msg()
content = msgs[]
note = msgs[1]
my_friend = bot.friends().search(
u'机器人')[]# 此处是对方自己的昵称,不是微信号,也不是你的备注。
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')[
]# 发送不成功,则发送消息给自己,提醒消息发送失败
my_friend.send(u'消息发送失败')
捕捉异常,如果发送失败的话,则发送消息给自己,提醒消息发送失败。
执行函数
最后运行主函数,即可大功告成。
if__name__ =='__main__':
send_msg()
运行结果
更高级的操作可以爬取图片网址,做成文字+图片的形式。
这里给大家提供两个,一个是情话一个是关于“我爱你”的图片(对文笔不是特别好的童鞋来说可以说是很贴心了)
http://www.binzz.com/yulu2/3588.html
http://tieba.baidu.com/p/3108805355
最后还要提一句,这样的程序肯定是要持续运行才能保证每天发送,那岂不是要一直开着程序?(可以,但没必要)放在服务器上,某云服务器可以试用半年~好了,赶紧去尝试一下散发程序员的魅力吧!
来源:brucepk
领取专属 10元无门槛券
私享最新 技术干货