用python来记录和女朋友的恋爱日志

---恢复内容开始---

阅读文本大概需要 5 分钟。

最近一直在学习Python,就想到编写一个程序每天早上自动给女朋友发送微信,内容是我俩相恋时间,每日一句以及一句早安。

前期准备

1.Python的wxpy库,wxpy在itchat的基础上,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展。

wxpy库功能很强大,比如,运行脚本时自动把日志发送到你的微信,加群主为好友,自动拉进群中,自动陪人聊天等等,总而言之,可用来实现各种微信个人号的自动化操作。

2.Python的爬虫基础知识。比如,我之前写到的requests库的使用。

3.Python对于日期的操作。

对于wxpy库和requests库的安装,都可以用pip3 install “库名”来快速完成安装。

1.实现相恋时间

首先设定我俩确定关系的那天作为初始时间,利用time函数获取当前时间,通过调用datetime()库,将两者值相减。

datetime.date()函数可以将用户输入转换为datetime类型,datetime.datetiem.now()函数可以读取当前时间并格式化显示。

最后将其封装为Cal_Date()函数,对其调用会返回当前时间与设定时间之间的天数差。

def Cal_Date():
    First_Day_We_Loved = datetime.datetime(2013, 10, 26) Today = datetime.datetime.now() The_Day_We_Loved = Today - First_Day_We_Loved return The_Day_We_Loved.days 

2.实现每日一句

本来想发送每日一笑的,但搜了一下,大家都做过,想弄点不一样的新东西,就编写了一个函数,爬取了金山词霸上的每日一句,每日一句的内容主要来自电影片段,再把英文翻译成中文。最后将其封装为get_news()函数。

def get_news():
    #获取一个连接中的内容 url = "http://open.iciba.com/dsapi/" r = requests.get(url) print(r.json()) contents = r.json()['content'] translation = r.json()['translation'] return contents, translation 

3.将上述函数组装成一个主函数

这里需要注意的是,一定要加入异常处理,我就是陷在这里很长时间,怎么调代码都不行,最后网上各种搜,加入异常处理后就可以了。将所有准备发送的内容都可以添加在这个主函数中。

def send_news():
    if bot == None: login_WeChat() try: my_friend = bot.friends().search(u'stormwen')[0] # stormwen表示微信昵称 weekdic = {'Mon': '星期一', 'Tue': '星期二', 'Wed': '星期三', 'Thu': '星期四', 'Fri': '星期五', 'Sat': '星期六', 'Sun': '星期日'} date = time.strftime('%Y-%m-%d', time.localtime(time.time())) week = time.strftime('%a', time.localtime(time.time())) my_friend.send('今天是' + date + ' ' + weekdic[week] +',' + '是我们相恋的第' \ + str(Cal_Date()) + '天。'+ '\n ' +get_news()[0]+ '\n' + get_news()[1][5:]) my_friend.send(u"Darling:Good morning,I love you!!") t = Timer(86400, send_news) #86400是秒数:86400秒发送一次 t.start() except: print(u"失败!") 

4.运行结果展示

5.总结

今天分享的小项目非常适合零基础学Python,学爬虫的小伙伴,代码简单易懂。

这个项目可以扩展和优化的地方还有很多,比如,发送每日天气、每日笑话等等功能,而且用函数来实现这些功能,最后一起添加到总函数中,非常简单。大家可以先动手操作一下,后面我也会找时间,将这些功能一一分享出来。

---恢复内容结束---

猜你喜欢

转载自www.cnblogs.com/qingdeng123/p/11755408.html