521表白神器(520后续)-教你用微信每天给TA说晚安
現(xiàn)在, 已知你有一個(gè)love.txt文件, 如下如所示:
通過利用 itchat 庫,實(shí)現(xiàn)給你的微信好友自動(dòng)發(fā)送消息。在這個(gè)函數(shù)中利用 datetime 來計(jì)算相識(shí)相戀的時(shí)間。并在登錄的時(shí)候添加了一個(gè)「hotReload=True」,這樣你就可以不用每次運(yùn)行程序的時(shí)候都要登錄。關(guān)于 itchat 更多的操作,大家可以去網(wǎng)上查找相應(yīng)的資料。代碼如下:
import datetime import os import itchatdef send_news(name):# 計(jì)算相戀天數(shù)# 相戀日期inLoveDate = datetime.datetime(2019, 5, 20) # 相戀的時(shí)間# 當(dāng)前日期todayDate = datetime.datetime.today()# (當(dāng)前日期-相戀日期)-并獲取天數(shù)inLoveDays = (todayDate - inLoveDate).days# 獲取情話file_path = os.getcwd() + '/' + love_word_pathwith open(file_path) as file:love_word = file.readlines()[inLoveDays]itchat.auto_login(hotReload=True) # 熱啟動(dòng),不需要多次掃碼登錄my_friend = itchat.search_friends(name=name)girlfriend = my_friend[0]["UserName"]print(girlfriend)message = """親愛的{}:早上好,今天是和你相戀的第 {} 天~今天想對(duì)你說的話是:{}最后也是最重要的 I LOVE U!""".format(name, str(inLoveDays), love_word)itchat.send(message, toUserName=girlfriend)name = "小白" love_word_path = 'love.txt' send_news(name)每天定時(shí)發(fā)送主要是用 while True 死循環(huán)簡單的實(shí)現(xiàn),通過判斷當(dāng)前的時(shí)間是否是你所需要發(fā)送的時(shí)間,來達(dá)到每天定時(shí)發(fā)送。
if __name__ == '__main__':while True:curr_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())love_time = curr_time.split(" ")[1]if love_time == "05:20:00":main()time.sleep(60)else:print("愛你的每一天都是如此美妙,現(xiàn)在時(shí)間:" + love_time)最終效果如下:
此次的程序還有很多可以繼續(xù)添加的地方。比如對(duì)于發(fā)送的消息字段,我們還可以繼續(xù)添加天氣信息、星座信息、娛樂新聞、最近的趣事、最近好看的電影等等。只要你能想到的內(nèi)容,都可以添加上去。發(fā)送圖片也可以以同樣的思路, 先通過爬蟲下載到本地, 依次通過微信發(fā)送給好友.Bingo
這些信息在網(wǎng)上都可以獲取的到,我們只要通過同樣的思路,先抓取到本地,然后進(jìn)行讀取。當(dāng)然如果你覺得存儲(chǔ)本地會(huì)有被刪的風(fēng)險(xiǎn),那么你也可以保存到云端,在云端上進(jìn)行存儲(chǔ)。
參考鏈接
總結(jié)
以上是生活随笔為你收集整理的521表白神器(520后续)-教你用微信每天给TA说晚安的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 区块链项目 - 9 UTXO优化
- 下一篇: from easydict import