企业级Python开发大佬利用网络爬虫技术实现自动发送天气预告邮件
前天小編帶大家利用Python網絡爬蟲采集了天氣網的實時信息,今天小編帶大家更進一步,將采集到的天氣信息直接發送到郵箱,帶大家一起嗨~~拓展來說,這個功能放在企業級角度來看,只要我們擁有客戶的郵箱,之后建立郵箱數據庫,然后我們就可以通過網絡爬蟲將采集到的信息發送給我們的目標用戶,而且每天都可以實現定時發送。
對于天氣信息,我們采集的目標網站是搜狐天氣網,信息內容如下圖所示:
搜狐天氣網采集的方式仍然使用BeautifulSoup選擇器,定義get_weather函數,具體代碼如下圖所示:
定義get_weather函數采集到的信息內容有:當前城市、天氣狀態、當前氣溫、最低溫、最高溫、空氣質量和PM2.5值。在代碼塊中使用了string屬性、字符串格式化和lambda函數等知識點。在使用BS4匹配目標信息時,建議大家逐步進行代碼測試,養成良好的習慣,這樣不至于寫完之后因代碼報錯而一頭霧水。
采集到天氣信息之后,接下來要寫代碼實現郵件的自動發送。定義send_email函數,具體代碼如下圖所示:
定義send_email函數確認好對方(或客戶群)的郵箱之后,放在列表中,等待被遍歷,之后只需要輸入本人的郵箱名、登錄密碼和郵箱服務器,便可以實現信息的自動發送了。本例中,小編以自己的搜狐郵箱為例,目標城市選擇小編所在的城市大連,程序運行之后,將得到以下的效果圖:
效果圖爾后登錄自己的搜狐郵箱,然后就可以看到一封天氣預報的郵件已經在自己的未讀郵件中了,打開郵件信息,如下圖所示:
搜狐郵箱收件箱可以很明顯的看到郵件內容和采集到的信息是完全一致的。這樣就可以實現郵件的一鍵收發啦~~~
那么是不是只有搜狐郵箱才可以實現郵件發送呢?當然不是啦,163網易郵箱照樣可以,只需要更改郵箱服務器就可以了,效果圖如下所示:
發送信息到網易163郵箱點開郵件查看郵件內容,如下圖:
網易163郵箱收件箱同搜狐郵箱一樣,接受到的郵件內容和采集到的信息是完全一致滴。
最后安利一下小伙伴們郵箱服務器和PM2.5的標準。
一、部分常用郵箱服務器匯總:
騰訊QQ郵箱發送服務器:http://smtp.qq.com
網易126郵箱發送服務器:http://smtp.126.com
網易163郵箱發送服務器:http://smtp.163.com
新浪免費郵箱發送服務器:http://smtp.sina.com.cn
搜狐郵箱發送服務器:http://smtp.sohu.com
雅虎郵箱發送服務器:http://smtp.mail.yahoo.com
Gmail郵箱發送服務器:http://smtp.gmail.com
二、PM2.5值的參考值
空氣質量等級 24小時PM2.5平均值標準值
優 35微克(ug)/每立方
良 35~75微克(ug)/每立方
輕度污染 75~115微克(ug)/每立方
中度污染 115~150微克(ug)/每立方
重度污染 150~250微克(ug)/每立方
嚴重污染 250及以上微克(ug)/每立方
從采集結果來看,大連的天氣PM2.5的值為110微克,屬于輕度污染的范圍。
利用網絡爬蟲技術實現自動發送天氣預告郵件,你get到了嘛?
總結
以上是生活随笔為你收集整理的企业级Python开发大佬利用网络爬虫技术实现自动发送天气预告邮件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Centos7系统创建Docker本地仓
- 下一篇: mysqldump备份单表数据