用python定制網(wǎng)頁(yè)跟蹤神器冈止,有信息更新第一時(shí)間通知你(附視頻演示)

在日常生活當(dāng)中你是否有過(guò)這樣的煩惱狂票,需要在網(wǎng)上獲取信息,但是不知道信息何時(shí)會(huì)更新熙暴?

  • 公務(wù)員等各類考試公告闺属、考試成績(jī)的公布

  • 行業(yè)最新資訊的發(fā)布,如財(cái)經(jīng)資訊周霉、互聯(lián)網(wǎng)公司新聞

  • 追的電視劇掂器、漫畫最新更新內(nèi)容
    ……

有些網(wǎng)站做的比較人性化,有更新消息會(huì)通過(guò)微信俱箱、短信国瓮、郵件或者電話等方式通知我們,但是大部分還沒(méi)有,尤其是通知給你想要的信息。

日常生活中我們都會(huì)和熟人朋友講「有消息了及時(shí)通知我」聋涨,那在互聯(lián)網(wǎng)上是不是可以有這樣的工具可以定制一個(gè)類似的跟蹤器呢嫁艇?

今天就來(lái)給大家這樣的做這樣一個(gè)網(wǎng)頁(yè)跟蹤器功能的分享,使用到的依舊是強(qiáng)大的python。

需求具體化

首先把我們需要實(shí)現(xiàn)的功能具體化,比方以我的網(wǎng)站「永恒君的百寶箱」為例。

需求就是:跟蹤網(wǎng)站文章掰读,一旦有文章更新,就通過(guò)qq郵件來(lái)通知我
(說(shuō)明一下:用qq郵件有個(gè)好處就是叭莫,一旦有新的郵件磷支,微信里面會(huì)及時(shí)通知。當(dāng)然也可以用另外一個(gè)微信號(hào)通知食寡,有機(jī)會(huì)再寫一個(gè)微信通知的雾狈。)

解決思路

簡(jiǎn)單的描述一下解決思路:
1、獲取網(wǎng)站頁(yè)面的源代碼抵皱,提取第一篇文章的標(biāo)題善榛,存儲(chǔ)到電腦中辩蛋;
2、通過(guò)程序設(shè)定每個(gè)固定的時(shí)間(比如1個(gè)小時(shí))移盆,提取網(wǎng)站第一篇文章標(biāo)題悼院,如果和之前存儲(chǔ)的標(biāo)題不一致,則說(shuō)明有更新咒循。
3据途、向qq郵箱發(fā)送郵件,告知網(wǎng)站有更新可以去查看叙甸。同時(shí)將最新的文章保存到電腦颖医,以便下一次比對(duì)。

設(shè)計(jì)網(wǎng)頁(yè)跟蹤程序

有了上面的思路就好辦了裆蒸,永恒君花了大概3個(gè)小時(shí)的時(shí)間調(diào)試好了下面的代碼熔萧,分了主程序和發(fā)郵件程序兩塊。

主程序

import?requests
from?lxml?import?etree
import?time
import?os
from?sendemail?import?email

while?True:
????url?=?"http://www.yhjbox.com/"???#目標(biāo)跟蹤網(wǎng)頁(yè)
????content?=?requests.get(url).content?
????html?=?etree.HTML(content)
????title?=?html.xpath("/html/body/section/div[2]/div/article[1]/header/h2/a/@title")[0]
????#獲取第一篇文章標(biāo)題????
????print("當(dāng)前的標(biāo)題為:%s"%title)
????#屏幕打印獲取的第一篇文章標(biāo)題

????if?not?os.path.isfile("E:\\title_temp.txt"):
????#判斷title_temp.txt文件是否存在僚祷,不存在則創(chuàng)建佛致,并寫入獲取的第一篇文章標(biāo)題
????????f?=?open("E:\\title_temp.txt",?"w")
????????f.write(title)
????????print("將當(dāng)前標(biāo)題記錄在E:\title_temp.txt中,等待檢測(cè)")??
????????f.close()
????else:
????#title_temp.txt文件存在的話辙谜,提取里面標(biāo)題俺榆,和獲取的標(biāo)題對(duì)比
????????with?open("E:\\title_temp.txt",?"r+")?as?f:
????????????old_title?=?f.read()
????????????if?old_title?!=title:
????????????#如果讀取內(nèi)容和獲取的網(wǎng)站第一篇文章標(biāo)題不一致,則表明網(wǎng)站更新
????????????????email()#發(fā)送qq郵件
????????????????f.seek(0)
????????????????f.truncate()?????????????????????????????
????????????????print("網(wǎng)站有更新装哆,需通知")
????????????????f.write(title)
????????????????#寫入最新的標(biāo)題內(nèi)容肋演,方便下一次比對(duì)
????????????????break
????????????????#退出循環(huán)????????????????
????????????else:
????????????#否則的話,表明網(wǎng)站沒(méi)有更新????????????????
????????????????print("網(wǎng)站暫時(shí)沒(méi)有更新\n")
????time.sleep(5)
????#檢測(cè)網(wǎng)頁(yè)內(nèi)容時(shí)間間隔烂琴,單位為秒(s)

發(fā)郵件程序

import?smtplib
from?email.mime.text?import?MIMEText
from?email.header?import?Header

def?email():

????sender?=?'XXXX@163.com'#填寫發(fā)件人
????pwd?=?'XXXX'#登錄密碼
????receivers?=?['XXXX@qq.com']#填寫收件人?????

????message?=?MIMEText("你好,網(wǎng)站有內(nèi)容更新蜕乡,請(qǐng)及時(shí)查看","plain",'utf-8')
????#?三個(gè)參數(shù):第一個(gè)為文本內(nèi)容奸绷,第二個(gè)為plain設(shè)置文本格式,第三個(gè)為utf-8設(shè)置編碼
????message?['From']?=?"XXX?<XXX@163.com>"
????message?['To']?=?"XXX?<XXX@qq.com>"

????subject?=?"網(wǎng)站有內(nèi)容更新"
????#郵件主題
????message["Subject"]?=?subject

????try:
????????#?使用非本地服務(wù)器层玲,需要建立ssl連接
????????smtpObj?=?smtplib.SMTP_SSL("smtp.163.com",465)
????????#發(fā)件箱郵件服務(wù)器
????????smtpObj.login(sender,pwd)
????????smtpObj.sendmail(sender,receivers,message.as_string())
????????print("郵件發(fā)送成功")
????except?smtplib.SMTPException?as?e:
????????print("Error:無(wú)法發(fā)送郵件.Case:%s"%e)

使用方法:

兩個(gè)程序保存在同一個(gè)文件夾号醉,其中發(fā)郵件程序必須保存為「sendemail.py」,主程序隨意辛块。然后運(yùn)行主程序即可畔派。

運(yùn)行結(jié)果

程序使用演示:


演示如何第一時(shí)間知道網(wǎng)頁(yè)信息更新_騰訊視頻


永恒君把上面的代碼打包了一下,需要的伙伴后臺(tái)wx公號(hào)回復(fù)「網(wǎng)頁(yè)跟蹤」即可润绵。

程序可定制的地方

這個(gè)程序目前還沒(méi)法做成通用的版本线椰,因?yàn)楦鶕?jù)不同網(wǎng)站、不同郵箱要做更改的地方有:

1尘盼、url憨愉,即需要跟蹤的網(wǎng)頁(yè)地址

2烦绳、title,即獲取第一篇文章標(biāo)題的xpath地址

3配紫、time.sleep()径密,即間隔多長(zhǎng)時(shí)間提取一次網(wǎng)站信息

4、收發(fā)件郵箱地址

把上面這些改成你自己需要的內(nèi)容即可定制私人的網(wǎng)頁(yè)跟蹤器躺孝。關(guān)于代碼的具體的修改內(nèi)容享扔,打算有空的話再開一篇文章具體說(shuō)說(shuō)。

1植袍、分享|教你制作一個(gè)微信機(jī)器人陪你聊天惧眠,只要幾行代碼

2、帶你看看不一樣的微信奋单!

3锉试、分享 | 微信一鍵統(tǒng)計(jì)、自動(dòng)通過(guò)申請(qǐng)览濒、自動(dòng)回復(fù)(操作演示)

4呆盖、你還在為無(wú)法下載網(wǎng)站視頻煩惱?試試You-Get贷笛,統(tǒng)統(tǒng)幫你搞定

5应又、有了這四款裝備,告別繁瑣和重復(fù)的工作乏苦!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末株扛,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子汇荐,更是在濱河造成了極大的恐慌洞就,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,366評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件掀淘,死亡現(xiàn)場(chǎng)離奇詭異旬蟋,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)革娄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門倾贰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人拦惋,你說(shuō)我怎么就攤上這事匆浙。” “怎么了厕妖?”我有些...
    開封第一講書人閱讀 165,689評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵首尼,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng)饰恕,這世上最難降的妖魔是什么挠羔? 我笑而不...
    開封第一講書人閱讀 58,925評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮埋嵌,結(jié)果婚禮上破加,老公的妹妹穿的比我還像新娘。我一直安慰自己雹嗦,他們只是感情好范舀,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著了罪,像睡著了一般锭环。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上泊藕,一...
    開封第一講書人閱讀 51,727評(píng)論 1 305
  • 那天辅辩,我揣著相機(jī)與錄音,去河邊找鬼娃圆。 笑死玫锋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的讼呢。 我是一名探鬼主播撩鹿,決...
    沈念sama閱讀 40,447評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼悦屏!你這毒婦竟也來(lái)了节沦?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,349評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤础爬,失蹤者是張志新(化名)和其女友劉穎甫贯,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體看蚜,經(jīng)...
    沈念sama閱讀 45,820評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡叫搁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了失乾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,127評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡纬乍,死狀恐怖碱茁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情仿贬,我是刑警寧澤纽竣,帶...
    沈念sama閱讀 35,812評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響蜓氨,放射性物質(zhì)發(fā)生泄漏聋袋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評(píng)論 3 331
  • 文/蒙蒙 一穴吹、第九天 我趴在偏房一處隱蔽的房頂上張望幽勒。 院中可真熱鬧,春花似錦港令、人聲如沸啥容。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)咪惠。三九已至,卻和暖如春淋淀,著一層夾襖步出監(jiān)牢的瞬間遥昧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工朵纷, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留炭臭,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,388評(píng)論 3 373
  • 正文 我出身青樓柴罐,卻偏偏與公主長(zhǎng)得像徽缚,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子革屠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容