李宜兵 郭玉堂 潘潔珠 陳軍
【摘要】電子商務(wù)網(wǎng)站中可以挖掘中大量有價(jià)值信息。本文通過數(shù)據(jù)庫與web挖掘技術(shù)相結(jié)合,對(duì)電子商務(wù)網(wǎng)站進(jìn)行挖掘。通過開源的爬蟲框架heritrx,對(duì)購物網(wǎng)站進(jìn)行爬取,使用htmlparse對(duì)網(wǎng)頁進(jìn)行抽取,對(duì)抽取后的數(shù)據(jù)進(jìn)行清洗存入數(shù)據(jù)庫中。最后對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行分析、挖掘,找出有價(jià)值的信息,對(duì)用戶進(jìn)行推薦等。通過web內(nèi)容挖掘和數(shù)據(jù)庫技術(shù)相結(jié)合,所挖掘出來的信息具有較高的可信度,具有一定的價(jià)值。
【關(guān)鍵詞】web挖掘;爬蟲;抽取;SQLSERVER
序言
電子商務(wù)購物類網(wǎng)站已進(jìn)入了人們?nèi)粘I钪?。這些網(wǎng)站中包含豐富的數(shù)據(jù),通過對(duì)這些數(shù)據(jù)進(jìn)行挖掘,可以得到大量有用處的信息,為商家營銷和買家購物提供便利。本文提出了針對(duì)于購物網(wǎng)站,利用數(shù)據(jù)庫技術(shù)和web挖掘技術(shù)相互結(jié)合,對(duì)購物網(wǎng)站進(jìn)行數(shù)據(jù)挖掘。結(jié)合數(shù)據(jù)庫技術(shù)使得web挖掘轉(zhuǎn)化為了數(shù)據(jù)庫挖掘,使得挖掘更簡(jiǎn)化,結(jié)果也更準(zhǔn)確,在此基礎(chǔ)上設(shè)計(jì)了一個(gè)系統(tǒng)。該系統(tǒng)主要分為;數(shù)據(jù)爬取、數(shù)據(jù)抽取、數(shù)據(jù)入庫、數(shù)據(jù)挖掘。
1.web挖掘概述
網(wǎng)絡(luò)上蘊(yùn)含著豐富的信息,但是網(wǎng)頁具有無結(jié)構(gòu)化,動(dòng)態(tài)的特點(diǎn)。網(wǎng)頁中蘊(yùn)含信息不能直觀的挖掘。搜索引擎的出現(xiàn)在一定程度上解決了人們對(duì)信息查找的需求,但是搜索引擎基于關(guān)鍵詞的查詢,不能提供有針對(duì)性的服務(wù)。因此,web數(shù)據(jù)挖掘應(yīng)用而生,又可分為內(nèi)容挖掘、結(jié)構(gòu)挖掘、使用記錄挖掘。
1.1 web內(nèi)容挖掘
Web內(nèi)容挖掘主要指從文檔中抽取相關(guān)信息??煞譃槲谋就诰颉⒍嗝襟w挖掘。目前研究主要集中在詞頻統(tǒng)計(jì)、分類算法、機(jī)器學(xué)習(xí)、數(shù)據(jù)間隱藏的模式和生成抽取規(guī)則等。web內(nèi)容挖掘可以看做是信息檢索和信息查詢二者的相結(jié)合。由于直接處理數(shù)據(jù)對(duì)象內(nèi)容,故結(jié)果也較為準(zhǔn)確。因此本文就是采用基于web內(nèi)容挖掘的方式對(duì)購物網(wǎng)站數(shù)據(jù)進(jìn)行挖掘分析。利用網(wǎng)絡(luò)爬蟲程序?qū)徫锞W(wǎng)站進(jìn)行爬取,再利用htmlparse對(duì)網(wǎng)頁內(nèi)容進(jìn)行抽取。
1.2 web結(jié)構(gòu)挖掘
web結(jié)構(gòu)挖掘的目的是發(fā)現(xiàn)頁面結(jié)構(gòu)與結(jié)構(gòu)之間的聯(lián)系。利用結(jié)構(gòu)信息,對(duì)其進(jìn)行聚類、分類等,從而找出所需要的模式。結(jié)構(gòu)挖掘是從的組織結(jié)構(gòu)和超鏈接關(guān)系中推導(dǎo)知識(shí)的過程。網(wǎng)頁包含的不僅僅是頁面的文本內(nèi)容,同時(shí)還有一頁到另一頁的超鏈接,超鏈接結(jié)構(gòu)包含了大量的注釋,通過挖掘這些結(jié)構(gòu)信息,可以準(zhǔn)確理解內(nèi)容的相關(guān)性及質(zhì)量。
1.3 使用記錄挖掘
使用記錄挖掘是指從服務(wù)器端記錄的客戶訪問日志或從客戶的瀏覽器信息中抽取感興趣的模式。當(dāng)用戶訪問頁面時(shí),用戶的地址、訪問時(shí)間、頁面等信息在日志中均有記錄。通過分析這些信息,建立適當(dāng)?shù)哪P?,運(yùn)用相應(yīng)的算法,就可以挖掘出客戶潛在的需求。使用記錄挖掘的基本方法包括聚類、關(guān)聯(lián)規(guī)則、序列模式、分類、依賴性建模、統(tǒng)計(jì)分析等。
2.網(wǎng)絡(luò)爬蟲
網(wǎng)絡(luò)爬蟲以一個(gè)或若干網(wǎng)頁作為種子,在抓取網(wǎng)頁的過程中,不斷地從當(dāng)前的網(wǎng)頁上提取新的URL放入指定的隊(duì)列中,直到滿足停止條件。根據(jù)算法過濾無關(guān)的鏈接,保留相關(guān)的鏈接并將其放入等待抓取的URL隊(duì)列。然后,根據(jù)既定的搜索算法從隊(duì)列中選擇下一步要抓取的URL,并重復(fù)上述過程,直到達(dá)到指定的條件而停止。網(wǎng)頁的抓取策略可以分為深度優(yōu)先、廣度優(yōu)先和最佳優(yōu)先三種。目前比較常見的是廣度優(yōu)先和最佳優(yōu)先方法。本文對(duì)抓取的網(wǎng)頁存儲(chǔ)在本地硬盤中,以便之后的抽取并解析。
本文采用開源的Heritirx爬蟲框架。它是遞歸執(zhí)行操作的,主要的步驟如下:
(1)在預(yù)先給定定的URL中選擇一個(gè)。
(2)獲取URL。
(3)分析并進(jìn)行歸檔結(jié),得出結(jié)果。
(4)選擇哪些相關(guān)性較強(qiáng)的URL。加入預(yù)定隊(duì)列。
(5)標(biāo)記已經(jīng)處理過的URL。Heritirx具有可擴(kuò)展的,能夠結(jié)合實(shí)際應(yīng)用,擴(kuò)展成所需的爬蟲。
3.網(wǎng)頁抽取
網(wǎng)頁抽取指從網(wǎng)頁中抽取指定信息,并存入數(shù)據(jù)庫中。文檔數(shù)據(jù)是無結(jié)構(gòu)的,沒有模式信息,并且信息量巨大,適合人們?yōu)g覽而不適合程序自動(dòng)處理,因此息抽取較為復(fù)雜。為了從頁面中抽取有用信息,運(yùn)用抽取算法抽取后信息應(yīng)易于系統(tǒng)理解和下一步處理。同時(shí)還應(yīng)具有較強(qiáng)的可擴(kuò)展性,以便能夠適應(yīng)各種不同風(fēng)格的網(wǎng)站。本系統(tǒng)采用的是開源的htmlparser。它主要用于改造或者提取網(wǎng)頁文件內(nèi)部?jī)?nèi)容,解析的效率非常高,能夠精確地解析html。htmlparser就是目前比較好的解析和分析的工具。它具有信息提取和信息轉(zhuǎn)換,文本信息提取,頁面內(nèi)容的監(jiān)控等相關(guān)功能。
4.數(shù)據(jù)庫設(shè)計(jì)
本系統(tǒng)的數(shù)據(jù)庫技術(shù)采用SQLserver2005作為后臺(tái)數(shù)據(jù),以當(dāng)當(dāng)網(wǎng)圖書作為例子進(jìn)行挖掘,數(shù)據(jù)庫設(shè)計(jì)了一個(gè)book表,表的結(jié)構(gòu)如下:(id,name,price,recommend,comment,author,press,presstime,isdn,category)
其中id為書的id號(hào),作為這張表的主鍵,name為書名,price為價(jià)格,recommend為推薦度,comment為評(píng)論人數(shù),author為作者,press為出版社名稱,presstime為出版時(shí)間,isdn為isbn號(hào),category為分類。該表包含的數(shù)據(jù)非常多。借助htmlparser包將爬取后存取在磁盤網(wǎng)頁,解析出來,再將解析的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫中。
5.實(shí)驗(yàn)結(jié)果與分析
以當(dāng)當(dāng)圖書作為挖掘?qū)ο?,提取出相關(guān)信息,例如分類、價(jià)格,推薦度、評(píng)論人數(shù)等。存儲(chǔ)在數(shù)據(jù)庫中圖書信息通過數(shù)據(jù)庫中數(shù)據(jù),可以進(jìn)一步的對(duì)數(shù)據(jù)進(jìn)行分析,例如找出某一類圖書的最高、最低價(jià)格,以及圖書的歡迎程度。綜合讀者的評(píng)論數(shù)、購買量,可以計(jì)算出該書的推薦度,從而可以對(duì)讀者購買圖書提供一個(gè)參考。圖書的推薦度,如圖1所示。
通過web內(nèi)容挖掘和數(shù)據(jù)庫技術(shù)相結(jié)合,所挖掘出來的內(nèi)容具有較高的可信度,具有一定的價(jià)值。下一步可以結(jié)合用戶的瀏覽記錄,即用戶行為進(jìn)行挖掘,針對(duì)每個(gè)用戶做個(gè)性化推薦。
參考文獻(xiàn)
[1]唐菁,基于Web 的文本挖掘[J].計(jì)算機(jī)工程與應(yīng)用,2002.
[2]毛國君,段立娟,王實(shí),等.數(shù)據(jù)挖掘原理與算法[M].北京:清華大學(xué)出版社,2007.
[3]王繼成.潘金貴.張福炎.Web文本挖掘技術(shù)研究[J].計(jì)算機(jī)研究與發(fā)展.2000,37(5):513-520.
[4]王繼成.潘金貴.張福炎.Web文本挖掘技術(shù)研究[J].計(jì)算機(jī)研究與發(fā)展,2000,37(5):513).
[5]林瑞娟.侯德文.Web挖掘及其在電子商務(wù)中的應(yīng)用研究[J].計(jì)算機(jī)技術(shù)與發(fā)展.2006,16(8):186-188.
基金項(xiàng)目:安徽省高校自然科學(xué)研究重點(diǎn)項(xiàng)目(編號(hào):KJ2013A217);安徽省級(jí)質(zhì)量工程項(xiàng)目——精品資源共享課程(2012gxk085)《數(shù)據(jù)庫原理》。
作者簡(jiǎn)介:
李宜兵(1985—),男,安徽桐城人,碩士,合肥師范學(xué)院計(jì)算機(jī)學(xué)院助教,研究方向:信息檢索和數(shù)據(jù)挖掘。
郭玉堂(1962—),男,安徽安慶人,博士,合肥師范學(xué)院計(jì)算機(jī)學(xué)院教授,碩士生導(dǎo)師,主要研究方向:人工智能和圖形處理。