當前位置:
首頁 > 最新 > Python之Bilibili自動更新郵件提醒並任務欄圖標

Python之Bilibili自動更新郵件提醒並任務欄圖標

前言

本次分享的是經過多日編寫的關於自動檢測B站Up主視頻更新情況,並發送郵件提醒更新的Python程序,代碼不專業、部分代碼段借鑒網上,僅供參考娛樂!

用到的庫

selenium、_thread、sys、time、re、os、bs4、win32gui/win32con/win32api/winerror、smtlib、email、

灰色的表示沒用到

環境及編譯器

Python3.6

PyCharm

效果圖

本來想做一個GUI,界面做好了,但跟程序連接部分還沒搞定:

正式開始

一、打開網頁

為了簡便,使用Python自動化測試工具 -- selenium,Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE、Mozilla Firefox、Mozilla Suite等,小編使用的是火狐。當然,如果不想看到瀏覽器,還可以使用「phantomjs」,這需要去官網下載exe文件(windows用戶)。這兩個怎麼用不是本文重點,大家可以自行搜索。

以phantomjs為例,啟動瀏覽器:

driver = webdriver.PhantomJS()

打開網頁:

driver.get(geturl)

然後通過bs4解析頁面:

Soup = BeautifulSoup(driver.page_source,"lxml")

通過F12分析B站頁面,並確定搜索規則:

隨便選的

參考參考代碼吧:

二、郵箱發送

大部分郵箱對於第三方使用,都要求有授權碼來代替密碼,以QQ郵箱為例(來自百度經驗):

1.登錄電腦版QQ郵箱,選擇最上方的「設置」

2.選擇「賬戶」,切換到賬戶詳情頁面。

3.在賬戶頁面往下拉,可以看到pop3設置,選擇「開啟」。

4.按照彈出的窗口提示操作進行密保驗證。有多種方式可以驗證,比如手機令牌等。推薦使用簡訊驗證。

5.按照簡訊驗證的提示發送簡訊。發送成功後直接點擊「我已發送」。

6.彈出的提示中直接顯示16位的授權碼,可以複製下來,或者是記下來,千萬不要記錯了。然後點擊「確定」。

7.下方的收取選項一般是默認30天的,點擊下拉箭頭,選擇「全部」,並點擊頁面最下方的保存更改。千萬別忘了點擊保存,不然之前做的都白費了。

然後就可以套用模板編寫代碼了:

三、創建任務欄圖標

左擊圖標隱藏界面,右擊圖標恢復窗口,左雙擊圖標退出程序

此部分代碼量較大,調用了win32官方demo,僅供參考:

四、多線程

任務欄顯示圖標和查詢程序相當於是兩個獨立的部分,通過一條線連接起來。也就是說,運行查詢,圖標就會卡死、運行圖標,查詢就會暫停——所以需要用到多線程。Python3.6有_thread和threading模塊,本程序用的是簡單的_thread,並且沒優化(邊學邊做邊發稿,沒看全呢、),有興趣的可以優化一下噻~~

五、主函數部分

六、打包為exe

結語


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python 的精彩文章:

練習 13-15 Learn Python 3 The Hard Way
Python3爬取1024圖片

TAG:Python |