Python如何自動獲取目標網(wǎng)站最新通知
不管是一名學生,亦或是一名員工,我們都需要時刻注意學校或公司網(wǎng)站的通知,盡量做到即時獲取最新消息。
大部分博客或數(shù)據(jù)資源網(wǎng)站都會有自己的RSS提示系統(tǒng),便于將網(wǎng)站的最新信息及時推送給需要的用戶,而用戶也可以通過RSS閱讀器來即時地獲取到目標網(wǎng)站的最新內容。
由于學?;蚬揪W(wǎng)站服務對象的特殊性和局限性,一般不會建立自己的RSS系統(tǒng)。
作為優(yōu)秀的人兒,我們可以建立自己的RSS提示系統(tǒng)。
這里介紹了如何使用Python和常用的計算機小程序來構建一個RSS提示系統(tǒng),做到定時自動檢測目標網(wǎng)站發(fā)布的通知,并即時發(fā)送提示郵件。
本期文章設計RSS提示系統(tǒng)的主要思路是:
- 爬取目標網(wǎng)站內容,建立本地已有通知數(shù)據(jù)庫;
- 模擬smtp服務器,建立郵件發(fā)送系統(tǒng);
- 解析檢測目標網(wǎng)站發(fā)布的通知,若有新內容,則更新數(shù)據(jù)庫并發(fā)送提示郵件;
- 制定計劃任務實現(xiàn)定時自動執(zhí)行Python腳本程序。
1.建立通知數(shù)據(jù)庫
這一步的目的是爬取目標網(wǎng)站已經(jīng)發(fā)布的通知的數(shù)據(jù),并進行存儲,從而建立與該目標網(wǎng)站內容相對應的本地數(shù)據(jù)庫。
考慮到數(shù)據(jù)庫中的數(shù)據(jù)將是辨別和獲取一則新通知的唯一方法,因此所建立的數(shù)據(jù)庫將存儲每一條通知的標題、發(fā)布日期和訪問鏈接。
第一步使用到的模塊有urllib、BeautifulSoup和sqlite3模塊。其中,通過urllib模塊爬取目標網(wǎng)頁html數(shù)據(jù);通過BeautifulSoup模塊解析網(wǎng)頁數(shù)據(jù)、爬取網(wǎng)頁內容;通過sqlite3模塊建立目標網(wǎng)站已有通知數(shù)據(jù)庫。
該步主要代碼展示如下。
2.建立郵件發(fā)送系統(tǒng)
這一步的目的是使用Python標準庫模塊smtplib來訪問網(wǎng)絡,創(chuàng)建一個發(fā)送電子郵件的功能。
由于我們大部分人的計算機并沒有建立自己的郵件服務器,因此需借助第三方服務器來模擬郵件發(fā)送。
常用的有谷歌郵件系統(tǒng)、網(wǎng)易郵件系統(tǒng)和QQ郵件系統(tǒng),如QQ郵件系統(tǒng)的SMTP服務器和端口號分別為smtp.qq.com和465。
該步主要代碼展示如下。
在這個示例中,使用了Python標準庫中的email模塊將電子郵件信息進行了格式化,主要包括郵件的主題與發(fā)件人、收件人郵箱昵稱和郵件內容等信息。
3.解析檢測目標網(wǎng)站通知
前面兩步,已經(jīng)完成了目標網(wǎng)站已有通知數(shù)據(jù)庫和郵件發(fā)送系統(tǒng)的建立,第三步要完成的工作,主要由兩部分組成。
一是,利用第一步使用的urllib、BeautifulSoup模塊解析目標網(wǎng)站內容數(shù)據(jù),并與前面建立的數(shù)據(jù)庫進行對比檢測。
二是,若檢測到目標網(wǎng)站有新的通知,則將新通知數(shù)據(jù)插入到數(shù)據(jù)庫中,然后,發(fā)送提示電子郵件。
該步主要代碼展示如下。
在這個示例中,只選取了最新的一條通知發(fā)送了電子郵件提示,具體郵件信息可自己設定。
4.制定計劃任務
前面三步,已經(jīng)完成了使用Python獲取目標網(wǎng)站最新通知,并發(fā)送提示電子郵件的腳本程序。
在這一步,將使用Windows自帶的DOS命令框架和任務計劃程序去每小時自動運行一次Python腳本,實現(xiàn)自動更新通知的目的。
首先,需要編寫一個cmd命令文件,方便在DOS框架下執(zhí)行Python腳本。
主要代碼展示如下:
@echo off # 關閉回顯 cd C:\demo # 找到Python腳本文件的路徑 python Python.py # 執(zhí)行Python腳本文件
最后,使用任務計劃程序制定一個任務,可設定為每隔一小時自動運行一次cmd命令文件。
總結
到此這篇關于Python如何自動獲取目標網(wǎng)站最新通知的文章就介紹到這了,更多相關python自動獲取最新通知內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Linux下用Python腳本監(jiān)控目錄變化代碼分享
這篇文章主要介紹了Linux下用Python腳本監(jiān)控目錄變化代碼分享,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下2015-05-05Python接入MySQL實現(xiàn)增刪改查的實戰(zhàn)記錄
這篇文章主要給大家介紹了關于Python接入MySQL實現(xiàn)增刪改查的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03對django 2.x版本中models.ForeignKey()外鍵說明介紹
這篇文章主要介紹了對django 2.x版本中models.ForeignKey()外鍵說明介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03