中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Python實現校園通知更新提醒功能

發布時間:2021-04-06 09:48:24 來源:億速云 閱讀:262 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關如何使用Python實現校園通知更新提醒功能的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

=

簡介

使用urllib.request庫獲取到目標url(各個網站的'更多通知'頁)的源代碼,然后利用Python的re庫進行正則匹配,提取到通知相關信息后,與文件中存取的上一次爬取到的信息進行對比。

若檢測到有新的通知,則利用twilio庫向指定手機號碼發送SMS,利用smtplib庫向指定郵箱發送提醒信息。

此外,還具有發送日志以及異常日志的功能。

目前僅支持本校的通知提醒,后續會逐步提高項目的通用性。

準備工作

安裝twilio庫:pip install twilio

注冊twilio賬號:Twilio

驗證手機號:用來接收短信提醒的號碼必須在twilio上進行驗證

遇到的問題

郵件發送

若用名為msg的變量來保存郵件文本,則msg['From']以及msg['To']必須為實際的發件人地址,否則可能會出現異常:SMTPDataError(code, resp).如必須寫作:msg['From'] = 'xxxxx@qq.com'.我是使用的QQ郵箱來發郵件,至于其他郵箱需不需要這樣寫還不清楚。

原本想用一個for循環來實現多人發送,后來發現smtplib庫的sendmail方法支持多人發送,但參數應為一個list,故可用str.split(',')將字符串轉為list。

我使用的是Windows下的Python,若計算機名為中文,則有可能會導致出現異常,可通過右擊此電腦->屬性,修改計算機名。

程序代碼中使用的郵箱密碼不是QQ密碼,應在郵箱設置->賬戶->SMTP服務處,獲取授權碼。

其他問題

有時候會接收不到Twilio發送的短信,給10086打電話也沒問出個所以然,可能是因為短信中有敏感詞(如:學校名),修改短信內容后就可以了

對上述幾個網站的源碼使用re.findall后返回的列表中的每個元組中的元素的順序均為時間、標題、鏈接,但對學生處網站的源碼正則匹配后的元素順序并不是按照上述順序的。所以應單獨進行調整,但直接修改一個元組中的元素,會出現異常:error:tuple' object does not support item assignment。

解決方法是:

if(subject_EN == 'snnu_xsc'):
 new_data = []
 for item in data:
  temp = (item[1], item[2], item[0])
  new_data.append(temp)
 data = new_data

Python3中的print函數是自動換行的,若不需要自動換行,則可寫作:print(str,end='')

不同網站的編碼格式可能不同,應按照各自的編碼方式進行解碼。若均采用utf-8的方式,則可能會出現各種編碼問題,如:

UnicodeDecodeError: ‘utf-8' codec can't decode byte 0xc9 in position 167

解決方法是:

if find1 == -1 & find2 == -1:
 Coding = 'utf-8'
else:
 # 教務處網頁源碼編碼格式為為gbk
 # 學生處網頁源碼編碼格式為gb2312
 Coding = 'gbk'
data = response.read().decode(Coding)

Python程序打包為exe(Pyinstaller)

安裝及使用

使用pip install pywin32安裝pywin32

使用pip install PyInstaller安裝Pyinstaller

使用pyinstaller -F main.py即可將Python程序打包為exe程序

注意事項

打包之前應將用到的第三方庫(此項目僅用到Twilio)復制到與要打包的py文件同一目錄下。

可使用pyinstaller -F -i logo.ico main.py,為生成的exe程序添加圖標

使用的ico文件像素不能過小,否則有可能出現:打包后的程序圖標只有在資源管理器中設置為以小圖標查看的情況下才顯示的是自己的圖標,其他情況仍未默認圖標

使用截圖

如何使用Python實現校園通知更新提醒功能

如何使用Python實現校園通知更新提醒功能

如何使用Python實現校園通知更新提醒功能

感謝各位的閱讀!關于“如何使用Python實現校園通知更新提醒功能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武城县| 临沧市| 镇江市| 镇远县| 延安市| 定日县| 红桥区| 宜章县| 招远市| 靖州| 托克托县| 武山县| 九寨沟县| 桦南县| 西安市| 莱阳市| 卓尼县| 海原县| 昆山市| 保康县| 临西县| 隆尧县| 平和县| 龙岩市| 顺昌县| 扎兰屯市| 苏州市| 交城县| 吉林市| 秦皇岛市| 陵水| 顺义区| 景泰县| 韩城市| 北海市| 嘉善县| 墨江| 治县。| 阿拉善左旗| 明星| 休宁县|