![用python來記錄和女朋友的戀愛日誌](http://p2.ttnews.xyz/loading.gif)
閱讀文本大概需要 5 分鐘。
最近想到編寫一個程序每天早上自動給女朋友發送微信,內容是我倆相戀時間,每日一句以及一句早安。
![用python來記錄和女朋友的戀愛日誌](http://p2.ttnews.xyz/loading.gif)
前期準備
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系統學習教程,想要這些資料的可以關注私信小編“01”即可,希望能對你有所幫助
閱讀更多 Python程序員不動否 的文章