1. 程式人生 > >通過微信,python實現一鍵查詢天氣+火車票+飛機票+快遞物流!

通過微信,python實現一鍵查詢天氣+火車票+飛機票+快遞物流!

通過微信,python實現一鍵查詢天氣+火車票+飛機票+快遞物流!

 

前言:

今天我們來進一步地實現更高階點的功能——查天氣+火車+飛機+快遞!!!當,這裡只是把他們集中在一起了,通過微信itchat的自動回覆功能,實現回覆關鍵字,返回自動查詢結果的效果!

學習Python中有不明白推薦加入交流群
                號:960410445
                群裡有志同道合的小夥伴,互幫互助,
                群裡有不錯的視訊學習教程和PDF!

通過微信,python實現一鍵查詢天氣+火車票+飛機票+快遞物流!

 

通過微信,python實現一鍵查詢天氣+火車票+飛機票+快遞物流!

 

主程式:

weChat.py,主程式依賴weather、package、airlineTicket、trainTicket這幾個.py檔案(他們分別對應查天氣、快遞、機票、火車票的功能)。

原始碼:

	已上傳至github:Flowingsun007/littleSpiders 

【原理】:

1. 主程式weChat.py通過itchat庫實現微信好友聊天,自動回覆。

2.通過好友發來的相應關鍵詞的訊息(TEXT型別)呼叫相應的爬蟲程式碼執行(查天氣/火車/快遞/飛機),然後將查詢的結果自動回覆。

【主要功能】:

1.對微信好友傳送過來的各種型別訊息進行相應識別和處理、並自動返回相應訊息

TEXT型別的訊息:

如關鍵詞:快遞/火車/飛機/天氣,自動回覆相應內容並返回查詢結果!

其他型別的訊息:

微信除了文字型別(TEXT)的訊息,還有PICTURE圖片, MAP地點, CARD名片, NOTE通知, SHARING分享, RECORDING語音, ATTACHMENT附件, VIDEO視訊。對於這些型別,程式裡也做了相應的處理。

a.MAP即地圖型別的訊息,自動回覆地點名稱,經緯度資訊;

b.CARD即名片型別,無特別處理,直接返回msg['content'];

c.SHARING即分享型別,自動回覆分享的連結;

d.NOTE即通知型別,如果是紅包,則回覆“謝謝紅包打賞????...”否則msg['content'];

e.PICTURE圖片、RECORDING語音、ATTACHMENT附件、VIDEO視訊型別支援自動下載到電腦,同時將檔案轉發給“檔案傳輸助手”;

2.訊息自動回覆功能,支援好友自助退訂/訂閱

如果每句話都自動回覆,可能時間長了別人就會嫌煩了,這時無需手動,只要好友輸入TDD即可成功退訂,以後都會訊息免打擾(不會自動回覆),想重新開啟也很簡單,回覆KTT即可!程式每次執行時自動讀取.txt中的檔案,將已經退訂自動回覆的好友資訊載入到TDlist中,做到對於在TDlist中的好友,不呼叫itchat.send()方法進行自動回覆,起到了訊息免打擾的功能!

回覆TDD,則好友動態加入TDlist列表,並將好友寫入.txt中的檔案中;

回覆KTT,則好友從TDlist移除,更新後的TDlist重新寫入到.txt中儲存。

通過微信,python實現一鍵查詢天氣+火車票+飛機票+快遞物流!

 

下面來幾張圖片,看的更直觀。

文字回覆效果:

通過微信,python實現一鍵查詢天氣+火車票+飛機票+快遞物流!

 

控制檯效果:

通過微信,python實現一鍵查詢天氣+火車票+飛機票+快遞物流!

 

微信助手效果:

通過微信,python實現一鍵查詢天氣+火車票+飛機票+快遞物流!

 

退訂/開通效果:

通過微信,python實現一鍵查詢天氣+火車票+飛機票+快遞物流!

 

其他型別回覆效果:

通過微信,python實現一鍵查詢天氣+火車票+飛機票+快遞物流!

 

原始碼在github:Flowingsun007/littleSpiders 

記錄一下怕以後忘了,中文名的檔案可以正常下載,但是在同步傳送到檔案助手的過程中總失敗,應該是編碼問題,花了大把時間去原始碼裡改了兩個地方,然後就可以正常收發中文名的檔案了。

原始碼包components資料夾下messages.py中:

_prepare_file()函式中此句:

with open(u'%s' % fileDir, 'rb') as f:

和upload_chunk_file()函式中此句:

('filename' , (os.path.basename(u'{fileDir}'), file_.read(524288),

'application/octet-stream'))])

通過微信,python實現一鍵查詢天氣+火車票+飛機票+快遞物流!

 

通過微信,python實現一鍵查詢天氣+火車票+飛機票+快遞物流!