国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Python 爬蟲的旅游網(wǎng)站數(shù)據(jù)分析與可視化

2022-09-02 06:25趙薔
電子設(shè)計工程 2022年16期
關(guān)鍵詞:爬蟲熱門網(wǎng)頁

趙薔

(咸陽師范學院計算機學院,陜西咸陽 712000)

我國旅游業(yè)在國家的大力推動下出現(xiàn)了高增速的發(fā)展狀態(tài),旅游業(yè)已成為我國GDP 的重要組成部分,是具有顯著發(fā)展速度與競爭優(yōu)勢的產(chǎn)業(yè)[1]。據(jù)旅游部發(fā)布的數(shù)據(jù)顯示,旅游業(yè)對GDP 綜合貢獻從2014年的6.61萬億元上升到2018年9.94萬億元,旅游業(yè)GDP比重占總GDP貢獻榜單的11.04%。2018年我國從事旅游行業(yè)和相關(guān)產(chǎn)業(yè)的就業(yè)人數(shù)達7 991 萬人,占全國就業(yè)總?cè)丝?0.3%[2]。與此同時,在線旅游服務(wù)作為新興的生活模式,在國內(nèi)發(fā)展十分迅速,已成為旅游業(yè)的中流砥柱[3]。

在線旅游是指旅游消費者通過網(wǎng)絡(luò)向旅游服務(wù)提供商預定旅游產(chǎn)品或服務(wù),并通過網(wǎng)上支付或者線下付費,旅游主體通過網(wǎng)絡(luò)進行旅游產(chǎn)品營銷[4]。在此過程中,人們通過搜索引擎瀏覽和查詢相關(guān)旅游信息。而隨著海量數(shù)據(jù)的出現(xiàn),搜索引擎技術(shù)凸顯了其重要性[5]。為了快速搜索到所需信息,聚焦網(wǎng)絡(luò)爬蟲引起人們關(guān)注。

結(jié)合旅游網(wǎng)站的特點,創(chuàng)建基于Python 的聚焦型網(wǎng)絡(luò)爬蟲,爬取旅游網(wǎng)站的數(shù)據(jù),然后通過數(shù)據(jù)分析和可視化,給出全國熱門旅游城市和地區(qū)的分布和排名情況。

1 網(wǎng)絡(luò)爬蟲技術(shù)

網(wǎng)絡(luò)爬蟲(Web Crawler)是一種按照一定規(guī)則自動抓取萬維網(wǎng)信息的程序或者腳本[6],被廣泛應用于搜索引擎以及相關(guān)網(wǎng)站的設(shè)計。爬蟲技術(shù)在數(shù)據(jù)分析、科學研究、web 安全、輿情監(jiān)控等領(lǐng)域都有廣泛應用。在數(shù)據(jù)挖掘、機器學習、圖像處理等科學研究領(lǐng)域,通過編寫爬蟲腳本程序在網(wǎng)上爬取信息,為理論研究提供數(shù)據(jù)[7]。網(wǎng)絡(luò)爬蟲主要分為以下幾種類型:

1)通用型網(wǎng)絡(luò)爬蟲[8]。其針對的目標范圍最廣,又被稱為全網(wǎng)爬蟲,缺點是爬行效率低而且對于網(wǎng)頁抓取數(shù)據(jù)的質(zhì)量難以保證。

2)增量式網(wǎng)絡(luò)爬蟲。將已經(jīng)爬取過的網(wǎng)頁作更新和添加操作,其時間成本小但實現(xiàn)難度較大,算法要求高[9]。

3)Deep web爬蟲??煞譃閟urface web和deep web,前者針對表層網(wǎng)絡(luò)和深層網(wǎng)絡(luò),主要用來對大多數(shù)靜態(tài)網(wǎng)站頁面進行爬取,后者則是對動態(tài)網(wǎng)頁進行爬取[10]。

4)聚焦型網(wǎng)絡(luò)爬蟲。也稱為主題網(wǎng)絡(luò)爬蟲,其原理是在通用網(wǎng)絡(luò)爬蟲的基礎(chǔ)上添加機制和步驟,以實現(xiàn)特定的功能需求[11]。通過制定相關(guān)規(guī)則,過濾掉已經(jīng)抓取或不需要的數(shù)據(jù),能夠在短時間內(nèi)從網(wǎng)絡(luò)上抓取大量有用數(shù)據(jù),這種爬蟲目標明確且工作量較小[12],是目前應用較多的一種網(wǎng)絡(luò)爬蟲。

聚焦型網(wǎng)絡(luò)爬蟲的實現(xiàn)原理如下:

①根據(jù)數(shù)據(jù)需求和功能需求,定義爬蟲程序的爬取目標,對爬取目標內(nèi)容進行描述;

②獲取初始的URL,即最初的網(wǎng)址;

③根據(jù)去哪兒網(wǎng)初始的URL 爬取頁面,并獲得新的URL,每一個被爬取數(shù)據(jù)的URL 都是不同的,爬取一個數(shù)據(jù)后,把這個URL 加入到已爬取URL 列表里,接著獲取新的URL,此過程本質(zhì)是去重和判斷是否已爬取內(nèi)容;

④在新的URL 中,過濾掉與定義爬取目標不相關(guān)的鏈接和信息數(shù)據(jù);

⑤將判斷和過濾的URL 鏈接地址加入到URL隊列里面;

⑥再次獲取URL,重復以上步驟直到滿足設(shè)置的停止條件時,或無法獲取新的URL地址時,停止爬取。

聚焦型網(wǎng)絡(luò)爬蟲的原理如圖1 所示。

圖1 聚焦性網(wǎng)絡(luò)爬蟲的流程圖

2 基于Python的旅游網(wǎng)站爬蟲

為了獲取旅游網(wǎng)站的大量旅游信息并進行分析,研究的內(nèi)容包含四部分:聚焦型網(wǎng)絡(luò)爬蟲、數(shù)據(jù)儲存、數(shù)據(jù)預處理以及數(shù)據(jù)分析與可視化。

2.1 聚焦型網(wǎng)絡(luò)爬蟲

創(chuàng)建專門針對旅游網(wǎng)站的聚焦型網(wǎng)絡(luò)爬蟲,針對旅游網(wǎng)站的目標數(shù)據(jù)進行爬取。以Python 語言和Scrapy 框架創(chuàng)建Scrapy 項目,在CMD 窗口中,運行scrapy startproject 命令創(chuàng)建爬蟲項目框架,其中包含項目配置文件、Python 模塊、item 文件、piplines 管道文件、爬蟲目錄等。通過建立Cookie 池定時更換Cookie、偽裝user-agent、設(shè)置爬取時間間隔來應對網(wǎng)頁的反爬。

2.2 數(shù)據(jù)儲存

隨著大數(shù)據(jù)與云計算的發(fā)展,MongoDB 作為一種非關(guān)系型數(shù)據(jù)庫,其使用越來越廣泛。MongoDB是一個面向文檔存儲的數(shù)據(jù)庫[13],它將數(shù)據(jù)存儲為一個文檔,數(shù)據(jù)結(jié)構(gòu)由鍵值(key=>value)對組成,字段值可以包含其他文檔/數(shù)組及文檔數(shù)組。MongoDB能夠為web 應用提供可擴展的高性能數(shù)據(jù)存儲解決方案[14],具有高性能、可擴展、易部署、易使用、存儲數(shù)據(jù)非常方便等特點。

使用非關(guān)系型數(shù)據(jù)庫MongoDB 儲存從網(wǎng)絡(luò)爬取的數(shù)據(jù),在Pycharm 編輯器下進行MongoDB 數(shù)據(jù)庫的可視化配置安裝,首先執(zhí)行啟動操作,等待連接建立,當連接被建立后,開始打印日志信息,然后使用MongoDB shell 來連接MongoDB 服務(wù)器。

2.3 數(shù)據(jù)預處理

數(shù)據(jù)預處理模塊主要負責對數(shù)據(jù)采集模塊所獲取的原始數(shù)據(jù)做進一步的處理與分析,消除網(wǎng)頁噪聲、去除重復網(wǎng)頁及利用網(wǎng)頁文字分詞技術(shù)進行網(wǎng)頁內(nèi)容和特征項的提取。

在數(shù)據(jù)清洗環(huán)節(jié),一般從數(shù)據(jù)的合法性、完整性、唯一性和正確性對采集的數(shù)據(jù)進行檢驗。對去哪兒網(wǎng)上采集的旅游數(shù)據(jù)進行清洗也是從這幾方面進行的,并使用排序算法以及isnull 和drop 等技術(shù)對數(shù)據(jù)進行檢驗和清洗。清洗之后的旅游數(shù)據(jù)信息完整準確,文件中包含區(qū)域、名稱、景點id、類型、級別、熱度、地址、特色、想要去哪里旅游、哪些城市等信息字段。

2.4 數(shù)據(jù)分析與可視化

數(shù)據(jù)可視化能夠更加有效、直接地反映數(shù)據(jù),也有利數(shù)據(jù)分析,可以采用柱狀圖來展現(xiàn)全國各個城市旅游地區(qū)的熱度。旅游地區(qū)的熱門程度通過該地區(qū)內(nèi)旅游景點受關(guān)注程度體現(xiàn),景點的主要參照點是級別和熱度。根據(jù)熱門景點的出現(xiàn)次數(shù),并結(jié)合其熱度對全國旅游熱門地區(qū)進行統(tǒng)計分析。根據(jù)地區(qū)內(nèi)熱門景點的出現(xiàn)次數(shù),對其求和從而得到該地區(qū)的熱門程度。

大陸所有省、市、自治區(qū)熱門旅游地區(qū)的旅游熱度餅圖如圖2 所示。

圖2 熱門地區(qū)的熱度統(tǒng)計餅圖

從圖2 可以看出,全國排名前十位的熱門旅游省份分別是安徽省、山東省、河北省、北京市、河南省、陜西省、江西省、福建省、甘肅省和新疆維吾爾自治區(qū)。其中排在前三位的省份內(nèi)景區(qū)所有采集到的信息比重已經(jīng)超過了10%,第三名的河北省已經(jīng)達到13%。

3 繪制詞云

詞云(WordCloud)是目前流行的可視化方法,是文字組件的一種[15]。詞云通過字體的大小反映分詞出現(xiàn)的頻率,是由詞匯組成類似云的彩色圖形,對網(wǎng)絡(luò)文本中出現(xiàn)頻率較高的關(guān)鍵詞予以視覺上的突出顯示,形成“關(guān)鍵詞云層”或“關(guān)鍵詞渲染”,從而過濾掉大量文本信息,使瀏覽者一眼掃過文本就可以領(lǐng)略其主旨。詞云的作用是快速感知最突出的文字、快速定位按字母順序排列的文字中相對突出的部分,其本質(zhì)是點圖,是在相應坐標點繪制具有特定樣式的文字的結(jié)果[16]。

在Pycharm 里面完成詞云的生成。首先下載Pycharm 第三方庫中文jieba 分析詞庫,通過第三方庫Pandas 和Matplotlib、wordcloud、PIL 和numpy 實現(xiàn)數(shù)據(jù)可視化,讀取數(shù)據(jù)并保存到腳本文件,通過在前面加入#encoding=gbk 防止出現(xiàn)格式錯誤,使用jieba分詞提取所爬取數(shù)據(jù)中的高頻率分詞,繪制300×400 大小的畫布,導入詞云的背景圖生成詞云。

對“去哪兒網(wǎng)”上大陸所有省、市、自治區(qū)的旅游熱度進行統(tǒng)計,其詞云如圖3 所示。

圖3 大陸所有省市自治區(qū)旅游熱度詞云

對“去哪兒網(wǎng)”上大陸地區(qū)旅游熱度排名前15的省、市、自治區(qū)進行統(tǒng)計,其詞云如圖4 所示。

圖4 排名前15的旅游熱門地區(qū)熱度詞云

4 結(jié)論

通過研究網(wǎng)絡(luò)爬蟲技術(shù),提出一種專門針對旅游網(wǎng)站的聚焦型網(wǎng)絡(luò)爬蟲,使用MongoDB 存儲爬取的數(shù)據(jù),并進行預處理,最后使用Pandas庫和Matplotlib庫等第三方庫進行數(shù)據(jù)分析和可視化,統(tǒng)計熱門旅游地區(qū)排名情況。實驗結(jié)果表明,提出的聚焦網(wǎng)絡(luò)爬蟲能夠提高對旅游數(shù)據(jù)的檢索效率,在旅游網(wǎng)站海量數(shù)據(jù)里快速找到所需信息,能夠為旅游愛好者以及同時為各地區(qū)、景點優(yōu)化服務(wù)提供參考,促進旅游行業(yè)的發(fā)展。

由于聚焦型網(wǎng)絡(luò)爬蟲的局限性,不能實時更新數(shù)據(jù)。后續(xù)的研究工作將對系統(tǒng)進一步優(yōu)化,將聚焦網(wǎng)絡(luò)爬蟲和增量網(wǎng)絡(luò)爬蟲相結(jié)合,用于旅游網(wǎng)站的數(shù)據(jù)爬取。

猜你喜歡
爬蟲熱門網(wǎng)頁
利用網(wǎng)絡(luò)爬蟲技術(shù)驗證房地產(chǎn)灰犀牛之說
基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
基于HTML5與CSS3的網(wǎng)頁設(shè)計技術(shù)研究
基于CSS的網(wǎng)頁導航欄的設(shè)計
基于HTML5靜態(tài)網(wǎng)頁設(shè)計
大數(shù)據(jù)背景下校園輿情的爬蟲應用研究
基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲技術(shù)
熱門智能手機應用
2009年熱門特色風味小吃
麟游县| 施秉县| 洪洞县| 信阳市| 庆元县| 康平县| 罗山县| 平定县| 定南县| 乌拉特后旗| 冀州市| 常德市| 承德市| 昌图县| 建德市| 隆回县| 通许县| 孝感市| 怀集县| 墨脱县| 佛坪县| 潜江市| 平潭县| 托克托县| 桂阳县| 茌平县| 永济市| 延川县| 武隆县| 阳东县| 栾川县| 搜索| 修文县| 边坝县| 钦州市| 灵丘县| 信丰县| 开封市| 邵阳市| 潼南县| 神农架林区|