前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用Python制作恋爱日志

用Python制作恋爱日志

作者头像
stormwen
发布2019-08-05 11:11:51
6180
发布2019-08-05 11:11:51
举报
文章被收录于专栏:公众号:googpy公众号:googpy

阅读文本大概需要 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()函数,对其调用会返回当前时间与设定时间之间的天数差。

代码语言:javascript
复制
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()函数。

代码语言:javascript
复制
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.将上述函数组装成一个主函数

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

代码语言:javascript
复制
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,学爬虫的小伙伴,代码简单易懂。

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 googpy 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前期准备
  • 1.实现相恋时间
    • 2.实现每日一句
      • 3.将上述函数组装成一个主函数
      • 4.运行结果展示
      • 5.总结
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档