用Python制作恋爱日志

来自:googpy(微信号:googpy),作者:stormwen


阅读文本大概需要 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,学爬虫的小伙伴,代码简单易懂。


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


我要赶紧用这个程序给女朋友一个小惊喜了,想想都激动!感兴趣的同学,可以后台回复「恋爱日志」获取源码。


推荐↓↓↓
Python编程
上一篇:一份真实的Python面试题 下一篇:六维图见过么?Python 画出来了