陳 銀,劉 維,熊偉程(貴州師范學院數(shù)學與計算機科學學院,貴陽 550018)
校園信息推送平臺技術實現(xiàn)
陳銀,劉維,熊偉程
(貴州師范學院數(shù)學與計算機科學學院,貴陽550018)
摘要:利用網(wǎng)絡爬蟲抓取想要的HTML頁面,用正則表達式解析想要的HTML頁面標簽,以JAVA或者PHP來實現(xiàn)想要信息的功能,利用微信公眾平臺呈現(xiàn)信息,達到信息推送目的。
關鍵詞:信息推送;網(wǎng)絡爬蟲;正則表達式;PHP與Java開發(fā);微信公眾平臺
在科技飛速發(fā)展的今天以及“互聯(lián)網(wǎng)+”的時代,各種各樣的信息對我們來說顯得非常重要。從學生角度來講,主要有幾大塊,第一是學習資料信息;第二是考試資料信息;第三是考證信息;第四是生活娛樂方面的信息。對于這些信息,我們是如何獲取呢?通常有報紙、pc機網(wǎng)絡、手機App等。
對于報紙,現(xiàn)在好多學生都不喜歡看了,而手機App,獲取信息,還得安裝一個軟件,這點好多人都不愿意,太麻煩了,對于電腦網(wǎng)絡方式,不是每個人都有計算機。隨著手機特別是智能機的普及,從手機獲取信息成為最佳選擇,但是又不要用App那樣麻煩,這就出現(xiàn)了一個新型方式,就是近年興起的微信平臺。微信,目前有智能手機的基本上都有安裝,故微信公眾平臺是一個不錯的選擇。
微信平臺除了聊天外,其實重要的就是微信公眾號,微信公眾號是我們獲取信息的途徑之一,微信公眾平臺的開發(fā)就是我們實現(xiàn)信息推送的方式。而將各種各樣的信息匯集在一起,這其中的重中之重,就是網(wǎng)絡爬蟲技術。
網(wǎng)絡爬蟲是將很多網(wǎng)頁的信息進行抓取,存儲在自己的數(shù)據(jù)庫,再進行集中顯示的過程。對于網(wǎng)絡爬蟲的技術實現(xiàn),目前有很多種,常見的是Java和php,兩種語言實現(xiàn)各有其特點,但都是跨平臺性很好的語言,當然也有的人用.net實現(xiàn),但是.net不開源,不跨平臺,而我們的服務器絕大多數(shù)都是Linux系統(tǒng),故.net不是一個實際生產(chǎn)的好的語言。
正則表達式就是記錄文本規(guī)則的代碼,包括普通字符和特殊字符(元字符和元字符序列),用來進行文本信息匹配的一種工具,在編程中經(jīng)常用到,比如”d”用來匹配0~9的數(shù)字,正則表達式不但可以匹配數(shù)字,字母,還可以匹配HTM L頁面信息。
對于php實現(xiàn)網(wǎng)絡爬蟲,只是網(wǎng)絡爬蟲的實現(xiàn)語言之一。PHP語言是開源免費的,不需要太多成本,入門相對會低一些,對于新手來說會容易些。
網(wǎng)絡爬蟲實現(xiàn)的一個重要技術就是正則表達式,PHP實現(xiàn)網(wǎng)絡爬蟲就是依賴正則表達式。
網(wǎng)絡爬蟲不但可以用PHP實現(xiàn)。還可以用JAVA實現(xiàn),而實際應用中大多也是用的是JAVA來實現(xiàn)的。JAVA實現(xiàn)同樣也用到了正則表達式,可以說正則表達式是網(wǎng)絡爬蟲等技術不可或缺的工具。
我們都知道JAVA語言比PHP更強大,支持的接口也多,這樣在微信開發(fā)的過程中會容易些,故我們校園信息推送平臺的實現(xiàn)選用JAVA來實現(xiàn)。
微信公眾平臺是近幾年才興起的新鮮平臺,就是借助微信客戶端來開發(fā)自己的應用程序,這樣用戶在不安裝客戶端的情況下,就可以使用自己的應用,這在移動應用時代是不錯的選擇。微信公眾平臺的開發(fā)其實就是移動應用程序的開發(fā),屬于二次開發(fā),自定義菜單,加上調(diào)用接口,整合前面開發(fā)的程序,就可以實現(xiàn)了。
網(wǎng)絡爬蟲是校園信息推送平臺的核心技術,有了這個技術,就可以自動的抓取想要的信息,再加上用JAVA和JSP來加以顯示,微信來呈現(xiàn),這樣信息推送就實現(xiàn)了。
參考文獻:
[1]福達,楊濤.正則表達式必知必會(修訂版)[M].人民郵電出版社,2015.
[2]E.F.Friedl.精通正則表達式(第三版)[M].電子工業(yè)出版社,2012.
[3]柳峰.微信公眾平臺應用開發(fā):方法、技巧與案例[M].機械工業(yè)出版社,2014.
[4]王振東.自己動手寫網(wǎng)絡爬蟲[M].清華大學出版社,2010.
[5]鄭阿奇.Java EE項目開發(fā)教程(第2版)[M].電子工業(yè)出版社,2013.
項目基金:貴州省大學生創(chuàng)新創(chuàng)業(yè)建設項目(項目編號:201414223002)
作者簡介:陳銀(1992—),男,貴州人,貴州師范學院計算機科學與技術專業(yè)學生。