• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于主題網(wǎng)絡(luò)爬蟲的信息數(shù)據(jù)采集方法的研究與應(yīng)用

    2016-07-10 04:40:21盛亞如
    電子技術(shù)與軟件工程 2016年7期
    關(guān)鍵詞:二手房

    盛亞如

    互聯(lián)網(wǎng)上的各種信息以數(shù)百萬級(jí)的方式增長著,而這些信息又大多是散亂分布的,無法滿足人們所要求的整合信息分析的需求,傳統(tǒng)的采集和收集方法又很難滿足要求。因此本文提出利用主題網(wǎng)絡(luò)爬蟲的概念和方法,運(yùn)用正則表達(dá)式去匹配出網(wǎng)頁中所需要的特定信息數(shù)據(jù),有效的增強(qiáng)爬蟲程序的適用性、縮短用戶獲取信息的時(shí)間。并將此方法應(yīng)用于二手房信息數(shù)據(jù)采集中,包括價(jià)格、戶型、樓層等基本數(shù)據(jù),建立起了一個(gè)統(tǒng)一的二手房數(shù)據(jù)庫。

    【關(guān)鍵詞】主題網(wǎng)絡(luò)爬蟲 正則表達(dá)式 二手房

    1 引言

    互聯(lián)網(wǎng)上的信息數(shù)據(jù)以爆炸式的方式增長著,而這些信息數(shù)據(jù)內(nèi)容又大多是基于頁面形式的,其中包含一些非結(jié)構(gòu)化的數(shù)據(jù),如文字、圖像、視頻等。如果只是采用人工化的方式對(duì)信息數(shù)據(jù)進(jìn)行采集,已經(jīng)很難滿足人們的要求了。因此有必要采用某種技術(shù)或手段從互聯(lián)網(wǎng)上自動(dòng)采集信息數(shù)據(jù)。

    網(wǎng)絡(luò)爬蟲能實(shí)現(xiàn)對(duì)互聯(lián)網(wǎng)信息數(shù)據(jù)的自動(dòng)采集,從而彌補(bǔ)了人工采集的缺陷。網(wǎng)絡(luò)爬蟲是隨著搜索引擎發(fā)展而產(chǎn)生的一種通用信息采集技術(shù),是搜索引擎中的核心部分,它根據(jù)用戶要求從互聯(lián)網(wǎng)上下載網(wǎng)頁,盡可能多的抓取網(wǎng)頁中的相關(guān)鏈接和內(nèi)容,并能沿著鏈接繼續(xù)爬行,是一種能力強(qiáng)大的信息采集程序。

    2 主題網(wǎng)絡(luò)爬蟲

    主題網(wǎng)絡(luò)爬蟲是在通用網(wǎng)絡(luò)爬蟲的基礎(chǔ)上進(jìn)行的延伸,根據(jù)某一領(lǐng)域內(nèi)特定的主題進(jìn)行相關(guān)信息的查詢,搜索互聯(lián)網(wǎng)抓取下載網(wǎng)頁,從網(wǎng)頁中采集相關(guān)信息數(shù)據(jù)和超鏈接。它并不會(huì)訪問所有的網(wǎng)頁,而是在訪問前就判斷超鏈接、錨文本、文本等與主題的相關(guān)度,按照相關(guān)度的高低來決定訪問的優(yōu)先級(jí)順序。

    主題網(wǎng)絡(luò)爬蟲的主要思想就是:把用戶搜索的查詢?cè)~作為主題,從選定的初始URL出發(fā),訪問網(wǎng)頁中的所有超鏈接,根據(jù)某種搜索策略對(duì)這些URL進(jìn)行主題相關(guān)度預(yù)測(cè),將符合要求的URL加入待訪問隊(duì)列中,并按照某種優(yōu)先級(jí)排序從隊(duì)列中抽取URL來作為下一次要訪問的對(duì)象,按照這種規(guī)律執(zhí)行下去,直到待訪問隊(duì)列為空或者滿足某種停止條件為止。

    3 基于主題網(wǎng)絡(luò)爬蟲的信息數(shù)據(jù)采集方法與應(yīng)用

    通過分析網(wǎng)站頁面時(shí)發(fā)現(xiàn),頁面中關(guān)于某一項(xiàng)主題的結(jié)構(gòu)和框架都是一樣的,因此可以考慮運(yùn)用正則表達(dá)式去匹配出頁面中我們所需要的鏈接和內(nèi)容。下面以安居客網(wǎng)站為例進(jìn)行二手房數(shù)據(jù)的采集。

    3.1 網(wǎng)站頁面分析

    3.1.1 鏈接地址頁面分析

    通過觀察安居客青島市二手房的房源列表,我們發(fā)現(xiàn),每一條房源信息的組織結(jié)構(gòu)是一樣的,如房源地址的鏈接是上下結(jié)構(gòu)排列的,價(jià)格,面積等信息的結(jié)構(gòu)排列都是在同一個(gè)位置的。深入分析頁面源代碼發(fā)現(xiàn),每一個(gè)房源鏈接的地址都是在herf=” ”引號(hào)之間,因此可以得出匹配房源鏈接地址的正則表達(dá)式:"\s*

    3.1.2 房源具體信息頁面分析

    網(wǎng)站具體頁面中包含有房屋的售價(jià)、面積等基本信息,我們所建立的二手房數(shù)據(jù)庫就是把這些字段全部收集起來,放到一個(gè)數(shù)據(jù)表中以供后期使用。觀察網(wǎng)頁源碼我們可以發(fā)現(xiàn),有些內(nèi)容的源代碼前后的HTML標(biāo)簽是不一樣的,因此,就有必要對(duì)我們所需要的每一項(xiàng)內(nèi)容寫一個(gè)正則表達(dá)式,以匹配面積內(nèi)容為例,可以得到正則表達(dá)式為:

    面積
    \s*
    ([^<]*)
    ,括號(hào)中為匹配結(jié)果。

    3.2 采集流程

    用戶選取要抓取的網(wǎng)站,系統(tǒng)由初始URL開始訪問網(wǎng)站,下載分析URL的源代碼,利用編寫好的正則表達(dá)式去匹配出此頁中的超鏈接和文本內(nèi)容,將超鏈接加入到待抓取隊(duì)列中的同時(shí),將文本內(nèi)容存入數(shù)據(jù)庫中,根據(jù)先進(jìn)先出的次序從待抓取隊(duì)列中抽取出新的URL開始訪問,依次進(jìn)行下去,直到待抓取隊(duì)列為空或者滿足系統(tǒng)停止條件為止。

    3.2.1 獲取網(wǎng)頁源代碼

    爬蟲對(duì)網(wǎng)頁抓取的原理是通過Http協(xié)議請(qǐng)求訪問指定的URL資源,URL資源以html文檔的形式返回給爬蟲,然后通過對(duì)html文檔的解析完成信息的采集任務(wù)。首先,獲得URL后,系統(tǒng)通過Http協(xié)議發(fā)出訪問請(qǐng)求,一般采用GET方法;其次,根據(jù)HTTP響應(yīng)判斷是否已成功加載此URL,如果成功加載,就會(huì)將網(wǎng)頁送到Html解析器中,根據(jù)UTF-8編碼形式,將語言轉(zhuǎn)換成一個(gè)統(tǒng)一的編碼形式,否則得到的就會(huì)是亂碼;最后,將得到的網(wǎng)頁源碼返回到一個(gè)變量中。

    3.2.2 獲取房源鏈接地址列表

    在系統(tǒng)設(shè)計(jì)的時(shí)候,定義了三個(gè)存儲(chǔ)URL的隊(duì)列:預(yù)讀房源隊(duì)列、已讀房源隊(duì)列、錯(cuò)誤房源隊(duì)列。預(yù)讀房源隊(duì)列用于存儲(chǔ)將要訪問的URL隊(duì)列,已讀房源隊(duì)列用于存儲(chǔ)已經(jīng)訪問過并成功采集信息的URL,錯(cuò)誤房源隊(duì)列用于存儲(chǔ)不能訪問到的URL隊(duì)列。這3個(gè)隊(duì)列都是用動(dòng)態(tài)數(shù)組進(jìn)行存儲(chǔ)和表示的。

    對(duì)選定的初始URL進(jìn)行訪問和處理,由于Http響應(yīng)的網(wǎng)頁是以字符串類型返回的,其中包含了大量的html代碼,這時(shí)就需要事先編寫好的正則表達(dá)式對(duì)其進(jìn)行匹配,可以從title、meta等標(biāo)簽中提取出所需要的信息。通過上文描述的匹配房源鏈接地址的正則表達(dá)式來匹配出初始網(wǎng)頁所含有的房源超鏈接地址,將其加入到預(yù)讀房源隊(duì)列中,同時(shí)利用正則表達(dá)式下一頁\s>;"匹配出下一頁的鏈接地址,并以下一頁的鏈接地址為初始URL,循環(huán)執(zhí)行這一過程,直到下一頁的地址為空或者滿足停止條件為止。得到的匹配結(jié)果如圖1所示。

    3.2.3 獲取房源信息數(shù)據(jù)

    判斷預(yù)讀房源隊(duì)列是否為空,如果隊(duì)列為空,說明沒有要繼續(xù)爬行訪問的URL了,此時(shí)就結(jié)束爬行了,如果隊(duì)列不為空,則從預(yù)讀房源隊(duì)列中取出隊(duì)首的URL進(jìn)行訪問,如果成功加載網(wǎng)頁,得到網(wǎng)頁的源代碼,根據(jù)編寫好的正則表達(dá)式對(duì)其進(jìn)行匹配,并把匹配下來的內(nèi)容保存到二手房數(shù)據(jù)庫中。最后,將當(dāng)前URL加入到已讀房源隊(duì)列中,如果訪問不成功,就將此URL加入到錯(cuò)誤房源隊(duì)列中。循環(huán)執(zhí)行這一過程,直到預(yù)讀房源隊(duì)列為空或者滿足停止條件為止。

    網(wǎng)頁展現(xiàn)給用戶的主要內(nèi)容是它的文本信息。因此,在獲得網(wǎng)頁源代碼后,需要針對(duì)網(wǎng)頁抽取出它的特定內(nèi)容。從預(yù)讀房源隊(duì)列中取出URL,解析其源代碼,利用正則表達(dá)式匹配出其頁面的具體信息,存入到數(shù)據(jù)庫中。以小區(qū)、戶型、面積為例,其正則表達(dá)式如圖2所示。

    根據(jù)要求,創(chuàng)建二手房數(shù)據(jù)庫后,將匹配到的房產(chǎn)信息數(shù)據(jù)存入到數(shù)據(jù)庫中。得到的二手房數(shù)據(jù)庫部分結(jié)果如圖3所示。

    4 總結(jié)

    本文實(shí)現(xiàn)了一種切實(shí)可行的通過正則表達(dá)式去匹配信息數(shù)據(jù)的方法,滿足用戶對(duì)特定信息的需求,并將此方法應(yīng)用于了二手房信息數(shù)據(jù)的采集中,成功抓取了網(wǎng)站上的二手房信息數(shù)據(jù),建立起了一個(gè)二手房數(shù)據(jù)庫。

    參考文獻(xiàn)

    [1]孫駿雄.基于網(wǎng)絡(luò)爬蟲的網(wǎng)站信息采集技術(shù)研究[D].大連海事大學(xué),2014.

    [2]Dikaiakos M D,Stassopoulou A, Papageorgiou L.An investigation of web crawler behavior: characterization and metrics[J]. Physical Chemistry Chemical Physics, 2001,3(5):867-872.

    [3]羅剛.自己動(dòng)手寫網(wǎng)絡(luò)爬蟲[M].北京:清華大學(xué)出版社,2010.

    [4]楊文剛, 韓海濤.大數(shù)據(jù)背景下基于主題網(wǎng)絡(luò)爬蟲的檔案信息采集[J].蘭臺(tái)世界(旬刊),2015(20):20-21.

    作者單位

    中國海洋大學(xué)信息科學(xué)與工程學(xué)院 山東省青島市 266100

    猜你喜歡
    二手房
    全國13城二手房指導(dǎo)價(jià)政策松綁
    二手房簽約量下降北京樓市難言“金九”
    營銷界(2019年39期)2020-01-02 08:11:40
    關(guān)于二手房市場(chǎng)可持續(xù)發(fā)展的相關(guān)研究
    深圳房?jī)r(jià)跌了?
    二手房買賣之賣方違約糾紛解析
    二手房漏水拒付尾款,法院判購房者違約?
    數(shù)據(jù)一覽
    投資北京(2016年10期)2016-11-23 20:24:36
    忙裝修
    三月三(2016年8期)2016-09-29 09:27:10
    下半年北京二手房或?qū)⒂瓉斫禍乇P整
    本市二手房成交量及價(jià)格走勢(shì)圖
    投資北京(2016年9期)2016-05-14 00:56:58
    珠海市| 九龙坡区| 永平县| 武乡县| 运城市| 桓仁| 扶风县| 高清| 定州市| 商都县| 齐齐哈尔市| 利津县| 丹寨县| 东兰县| 稻城县| 安平县| 酉阳| 江安县| 郁南县| 泰安市| 绥滨县| 澎湖县| 黔西县| 惠水县| 周宁县| 台州市| 敦化市| 临漳县| 亳州市| 浦北县| 徐闻县| 中牟县| 白水县| 巩留县| 会昌县| 东海县| 原平市| 江西省| 兴化市| 平阴县| 乌兰察布市|