五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

實戰(zhàn)分享,如何用Python制作屬于你的郵箱自動回復(fù)機(jī)器人?

2021-03-03 16:40 作者:愛數(shù)據(jù)分析社區(qū)  | 我要投稿

以下文章來源于早起Python?

作者陳熹

大家好,又來到Python辦公自動化專題。

在之前的系列文章中,我們已經(jīng)講解了如何利用Python讀取、收發(fā)、管理郵件。本文將進(jìn)一步分享如何用Python制作一個郵件自動回復(fù)機(jī)器人。

比如當(dāng)發(fā)送標(biāo)題為“來句詩”時,能夠自動返回一句詩;當(dāng)發(fā)送郵件標(biāo)題為“xx(城市)天氣”如“廣州天氣”時,能夠返回所需城市的天氣情況等等,更多功能可以自己定義,主要將涉及

和之前的文章類似,我們首先整理下思路,然后逐個解決,簡單來說這個需求可以分為下面的步驟:

基本邏輯很簡單,需要用到的知識點我們之前的文章中都有提過,可以直接嘗試完成這個案例。兩個子需求爬取的網(wǎng)站分別是

?今日詩詞https://www.jinrishici.com?

中國天氣網(wǎng)http://wthrcdn.etouch.cn/weather_mini?city={城市}


郵箱方面,之前我們講過qq郵箱、網(wǎng)易郵箱、這次再換個郵箱(88郵箱),首先過?imbox?庫解析郵件,可以通過?kering?庫獲取預(yù)先存在本地的系統(tǒng)密鑰(本文以 88 郵箱為例):

根據(jù)需求自然而然可以想到是反復(fù)獲取未讀郵件,解析其標(biāo)題觀察是否符合條件,符合相應(yīng)條件則執(zhí)行相應(yīng)的函數(shù),并將函數(shù)返回的內(nèi)容組裝成新的郵件。最后無論是否符合要求都將其標(biāo)記為已讀。

當(dāng)然,如果要持續(xù)運行就還需要將核心代碼包裝成函數(shù),并放在循環(huán)體內(nèi)部。循環(huán)可以間隔10分鐘。代碼如下所示:

發(fā)送郵件可以利用之前介紹的?yagmail?庫,核心代碼?mail.send?接收收件人郵箱、郵件標(biāo)題、郵件內(nèi)容三個參數(shù):

由于?send_mail?函數(shù)接受爬蟲返回的?results?作為內(nèi)容,也獲取了?imbox?解析后得到的特定發(fā)件人郵箱,因此可以寫成如下形式:

問題只剩下如何獲取每日一句以及如何獲取指定城市天氣了,首先看一下每日一句的網(wǎng)站特點(實際上這個網(wǎng)站有 API 接口,讀者可以自行嘗試):

先試試直接返回網(wǎng)站內(nèi)容:

可以返回內(nèi)容,沒有特別的反爬措施,但返回的正文是亂碼,同時我們也注意到?utf-8?編碼,因此直接修改編碼即可:

編碼問題解決以后就可以利用 xpath 解析獲取詩句了:

有趣的是,并沒有按意愿返回詩句,原因是網(wǎng)頁中的詩句是以Ajax動態(tài)加載的,而非靜態(tài)出現(xiàn)在網(wǎng)頁中。

重新分析網(wǎng)頁 XHR 即可獲取真正的訪問連接?https://v2.jinrishici.com/one.json?client=browser-sdk/1.2&X-User-Token=xxxxxx,Token見下圖:

分析好原因后代碼反而更加簡單了:

返回的詩句直接就可以作為函數(shù)結(jié)果返回,因此代碼又可以寫成:

獲取天氣可以使用官方提供的 API 了,以廣州為例:

根據(jù)返回的 json 數(shù)據(jù)很容易獲取今日的天氣情況和最高最低氣溫,組合成函數(shù)效果如下:

至此,代碼部分就寫完了。我們的郵箱自動回復(fù)機(jī)器人也就擁有了兩個簡單的功能,當(dāng)然你可以結(jié)合自己的需求實現(xiàn)更多有意思的功能!

最后附上完整代碼供大家學(xué)習(xí)與交流

這個機(jī)器人做的不夠過癮?!

關(guān)注我,更多干貨等你來!

點擊上方 即可關(guān)注


實戰(zhàn)分享,如何用Python制作屬于你的郵箱自動回復(fù)機(jī)器人?的評論 (共 條)

分享到微博請遵守國家法律
沙洋县| 壶关县| 巴楚县| 高淳县| 石渠县| 宣威市| 甘孜县| 梁平县| 都安| 镇巴县| 龙陵县| 金阳县| 双流县| 泰和县| 连平县| 新野县| 宁国市| 阳信县| 汽车| 格尔木市| 桦南县| 霍山县| 邮箱| 革吉县| 墨玉县| 博湖县| 瑞金市| 濉溪县| 泰顺县| 常德市| 左权县| 抚顺县| 清远市| 仁化县| 南充市| 洱源县| 海晏县| 方城县| 吴江市| 北安市| 双牌县|