专栏首页公众号:googpy用Python制作恋爱日志

用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,学爬虫的小伙伴,代码简单易懂。

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

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

本文分享自微信公众号 - googpy(googpy),作者:叫我小包总

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 400多人刷过的一道Python题目

    最近写的文章会偏向于Python实战一些,大家不要看着刷题,心里就有抵触了,其实刷题一直是学习的一个必要途径。你想想高中时候,如果你光听听课,学学理论就行的话,...

    stormwen
  • Python练手题目(九)

    给定一个数字,写一个函数输出其反向数字。(例如,给出123答案是321),数字应该保留他们的标志,即反转时负数仍应为负数。

    stormwen
  • 一份真实的Python面试题

    自学Python已有一段时间了,就想着找份面试题来检验一下自己的学习情况,今天就和大家分享一份自己从网上找到的货真价实的Python面试题,每道题目看似简单,但...

    stormwen
  • python 时间、日期、时间戳的转换

    在实际开发中经常遇到时间格式的转换,例如: 前端传递的时间格式是字符串格式,我们需要将其转换为时间戳,或者前台传递的时间格式和我们数据库中的格式不对应,我们需要...

    py3study
  • python3--函数名本质,函数嵌套,闭包,装饰器

    函数的嵌套无非就是搞清楚函数的执行顺序(不清楚可以看前面的python全栈开发10)

    py3study
  • Python黑帽子-实现netcat基本功能(改进版)

    一个好的渗透测试人员,应该拥有强大的编程能力,而python就是一个很好的工具,我最近也在研究如何用python开发属于自己的小工具,《python黑帽子》是一...

    tnt阿信
  • python下的日期与时间(时间格式转换、时间戳处理,时间差处理)

    时间戳单位最适于做日期运算。但是1970年之前的日期就无法以此表示了。太遥远的日期也不行,UNIX和Windows只支持到2038年。

    学到老
  • dotNET Core 3.X 依赖注入

    如果说在之前的 dotNET 版本中,依赖注入还是个比较新鲜的东西,那么在 dotNET Core 中已经是随处可见了,可以说整个 dotNET Core 的框...

    oec2003
  • python实时监控logstash日志代码

    以上这篇python实时监控logstash日志代码就是小编分享给大家的全部内容了,希望能给大家一个参考。

    砸漏
  • Maxima绘图基础

    话不多说, 最近总是在求积分微分上面遇到问题,进而想到了maxima, 由于忘光了,所以写一个简单的介绍。 ubuntu 那个maxima 的界面版做的实在...

    Enjoy233

扫码关注云+社区

领取腾讯云代金券