最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用Python實現(xiàn)校園通知更新提醒功能

 更新時間:2019年11月23日 09:28:20   作者:溫柔小豬  
今天小編就為大家分享一篇用Python實現(xiàn)校園通知更新提醒功能,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

前言

這個項目實已經(jīng)在一個月前已經(jīng)完成了,一直都想寫一篇博客來總結這個過程中遇到的一些問題。但最近一個月來都比較忙,所以一直拖到了現(xiàn)在。

首先說說起因吧,我沒事的時候,總喜歡依次點開學校主頁、教務處、圖書館以及學院的網(wǎng)站,看看有沒有什么新通知,雖然大多與我無關。恰逢最近正在學Python,經(jīng)常聽到別人說用Python寫爬蟲很簡單,但自己尚未接觸過爬蟲。于是抱著試一試的心態(tài)看了幾篇關于Python爬蟲的博客,發(fā)現(xiàn)實現(xiàn)起來的確很簡單。于是,便一邊看著官方的文檔說明,一邊看著別人的博客,終于完成了自己的第一次爬蟲。

簡介

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

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

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

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

源碼:

Github地址:School_Notice

準備工作

安裝twilio庫:pip install twilio

注冊twilio賬號:Twilio

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

遇到的問題

郵件發(fā)送

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

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

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

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

其他問題

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

對上述幾個網(wǎng)站的源碼使用re.findall后返回的列表中的每個元組中的元素的順序均為時間、標題、鏈接,但對學生處網(wǎng)站的源碼正則匹配后的元素順序并不是按照上述順序的。所以應單獨進行調整,但直接修改一個元組中的元素,會出現(xiàn)異常: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函數(shù)是自動換行的,若不需要自動換行,則可寫作:print(str,end='')

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

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

解決方法是:

if find1 == -1 & find2 == -1:
 Coding = 'utf-8'
else:
 # 教務處網(wǎng)頁源碼編碼格式為為gbk
 # 學生處網(wǎng)頁源碼編碼格式為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文件像素不能過小,否則有可能出現(xiàn):打包后的程序圖標只有在資源管理器中設置為以小圖標查看的情況下才顯示的是自己的圖標,其他情況仍未默認圖標

使用截圖

以上這篇用Python實現(xiàn)校園通知更新提醒功能就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Flask項目搭建及部署(最全教程)

    Flask項目搭建及部署(最全教程)

    本文主要介紹了Flask項目搭建及部署,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • python?subprocess.run中的具體使用

    python?subprocess.run中的具體使用

    subprocess.run是Python3.5及以上版本中用于運行子進程的函數(shù),它提供了更簡單和更強大的方式來創(chuàng)建和管理子進程,本文就來詳細的介紹一下,感興趣的可以了解一下
    2025-01-01
  • Windows+Anaconda3+PyTorch+PyCharm的安裝教程圖文詳解

    Windows+Anaconda3+PyTorch+PyCharm的安裝教程圖文詳解

    這篇文章主要介紹了Windows+Anaconda3+PyTorch+PyCharm的安裝教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Python編寫判斷真實文件類型工具

    Python編寫判斷真實文件類型工具

    常在河邊走,哪能不濕鞋,網(wǎng)上獲取的各種文件后綴真真假假,甚至一不小心就會中招,所以本文就來用Python編寫一個判斷真實文件類型工具吧
    2025-01-01
  • 安裝出現(xiàn):Requirement?already?satisfied解決辦法

    安裝出現(xiàn):Requirement?already?satisfied解決辦法

    最近pip install的時候報錯,一大串Requirement already satisfied,所以下面這篇文章主要給大家介紹了關于安裝出現(xiàn):Requirement?already?satisfied的解決辦法,需要的朋友可以參考下
    2022-08-08
  • Python實現(xiàn)樸素貝葉斯的學習與分類過程解析

    Python實現(xiàn)樸素貝葉斯的學習與分類過程解析

    這篇文章主要介紹了Python實現(xiàn)樸素貝葉斯的學習與分類過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • pytorch機器學習softmax回歸的簡潔實現(xiàn)

    pytorch機器學習softmax回歸的簡潔實現(xiàn)

    這篇文章主要介紹了為大家介紹了pytorch機器學習中softmax回歸的簡潔實現(xiàn)方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10
  • 用Python生成N層的楊輝三角的實現(xiàn)方法

    用Python生成N層的楊輝三角的實現(xiàn)方法

    這篇文章主要介紹了用Python生成N層的楊輝三角的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • Pytorch之contiguous的用法

    Pytorch之contiguous的用法

    今天小編就為大家分享一篇Pytorch之contiguous的用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python調用私有屬性的方法總結

    python調用私有屬性的方法總結

    在本篇文章里小編給大家整理的是一篇關于python調用私有屬性的方法總結,對此有需要的朋友們可以學習下。
    2020-07-07

最新評論

历史| 泾川县| 湘潭市| 忻州市| 桑植县| 沙河市| 乌拉特后旗| 武平县| 泸定县| 达尔| 和田县| 汉阴县| 和硕县| 高台县| 镇雄县| 麻栗坡县| 简阳市| 福安市| 呼图壁县| 施秉县| 永川市| 台前县| 搜索| 阿克陶县| 塘沽区| 林周县| 乐陵市| 长泰县| 漾濞| 株洲市| 隆尧县| 阳江市| 玉龙| 云霄县| 长宁县| 晋城| 阿勒泰市| 铁力市| 禹城市| 荔波县| 彰化县|