• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Python的運(yùn)城旅游數(shù)據(jù)可視化分析*

      2022-10-14 06:55:02孫怡芳
      計(jì)算機(jī)時(shí)代 2022年10期
      關(guān)鍵詞:爬蟲運(yùn)城分詞

      張 樂,孫怡芳

      (運(yùn)城學(xué)院數(shù)學(xué)與信息技術(shù)學(xué)院,山西 運(yùn)城 044000)

      0 引言

      運(yùn)城地區(qū),自古就有“河?xùn)|”的稱號(hào),位于黃河的中游,與陜西省渭南市、河南省三門峽市隔黃河相望。運(yùn)城地區(qū)的名勝古跡不勝枚舉,文物旅游景點(diǎn)高達(dá)1600余處,其中市級(jí)以上重點(diǎn)文物保護(hù)單位170余處,全國(guó)重點(diǎn)文物保護(hù)單位90處,是全國(guó)重點(diǎn)文物保護(hù)單位數(shù)量最多的地級(jí)市。但網(wǎng)絡(luò)上有關(guān)運(yùn)城旅游的數(shù)據(jù)復(fù)雜繁瑣,如何快速的通過網(wǎng)絡(luò)數(shù)據(jù)來了解運(yùn)城的旅游的發(fā)展?fàn)顩r,是本文的主要研究意義。

      本文主要使用Python 語言實(shí)現(xiàn),主要包括數(shù)據(jù)的爬取和可視化兩部分。首先通過網(wǎng)絡(luò)爬蟲采集數(shù)據(jù),使用requests提取網(wǎng)頁(yè)源碼,利用xpath、re和Beautiul-Soup提取源碼中目標(biāo)數(shù)據(jù),以csv文件進(jìn)行存儲(chǔ);其次對(duì)爬取的數(shù)據(jù)進(jìn)行清洗處理并進(jìn)行可視化分析,使用Matplotlib 庫(kù)將數(shù)據(jù)呈現(xiàn)為柱狀圖、餅圖和詞云等,使用wordcloud庫(kù)進(jìn)行詞云的制作。

      1 網(wǎng)絡(luò)爬蟲和數(shù)據(jù)可視化

      1.1 網(wǎng)絡(luò)爬蟲技術(shù)介紹

      網(wǎng)絡(luò)爬蟲,是按照一定的規(guī)則和策略自動(dòng)爬取網(wǎng)站某些數(shù)據(jù)信息的程序。網(wǎng)絡(luò)爬蟲是模擬瀏覽器的過程,通過模擬瀏覽器進(jìn)行網(wǎng)站的訪問,訪問到瀏覽器后將網(wǎng)頁(yè)進(jìn)行下載爬取,從下載的網(wǎng)頁(yè)中提取目標(biāo)數(shù)據(jù),然后進(jìn)行解析,從而達(dá)到自動(dòng)爬取的目的。Python語言是網(wǎng)絡(luò)爬蟲中使用最為廣泛的語言。

      1.2 可視化技術(shù)介紹

      可視化技術(shù)是數(shù)據(jù)分析的一種,是將復(fù)雜且繁瑣的大量數(shù)據(jù)經(jīng)過可視化處理,形成直觀、高效、容易理解的圖表,分析得出數(shù)據(jù)中有價(jià)值的信息,然后更深層次的理解數(shù)據(jù)。

      Matplotlib屬于Python中的一個(gè)可視化繪圖庫(kù),其功能強(qiáng)大且具有豐富的擴(kuò)展,夠?qū)崿F(xiàn)柱狀圖、餅圖、散點(diǎn)圖、折線圖等的繪制,從而實(shí)現(xiàn)快捷的可視化。

      詞云通過Python 中的第三方庫(kù)使用wordcloud 庫(kù)實(shí)現(xiàn),是對(duì)文本中高頻關(guān)鍵詞進(jìn)行可視化的展現(xiàn),將多數(shù)低頻、質(zhì)量低、與主題無關(guān)的詞語過濾,將質(zhì)量高且頻次高的篩選出進(jìn)行展示,方便使用者對(duì)長(zhǎng)文本的主旨快速掌握。

      2 數(shù)據(jù)爬取過程

      運(yùn)城旅游數(shù)據(jù)可視化分析的數(shù)據(jù)采集模塊主要是對(duì)旅游網(wǎng)站中有關(guān)運(yùn)城的旅游數(shù)據(jù)進(jìn)行爬取、解析和數(shù)據(jù)的存儲(chǔ)功能。數(shù)據(jù)的采集分網(wǎng)頁(yè)分析和數(shù)據(jù)爬取兩部分,流程圖如圖1所示。

      圖1 數(shù)據(jù)的采取流程圖

      2.1 網(wǎng)頁(yè)分析

      國(guó)內(nèi)各大旅游網(wǎng)站中,其中途牛、驢媽媽、同程旅游網(wǎng)站在有關(guān)行程路線、游記、點(diǎn)評(píng)等有不同程度的缺失,有關(guān)運(yùn)城的旅游信息較少。相對(duì)而言,“馬蜂窩”和“去哪兒”旅游網(wǎng)站各方面信息比較完整,有關(guān)運(yùn)城市的旅游數(shù)據(jù)很豐富,保證了數(shù)據(jù)的相對(duì)完整性、真實(shí)性。

      首先查看網(wǎng)頁(yè)源代碼,以“去哪兒旅游”網(wǎng)為例,使用Edge 瀏覽器打開“去哪兒旅游”網(wǎng)站運(yùn)城地區(qū)的主頁(yè),然后按F12鍵或者鼠標(biāo)右鍵點(diǎn)擊選擇“檢查”,可打開調(diào)試窗口查看到網(wǎng)頁(yè)源代碼。

      在后續(xù)爬蟲過程中要進(jìn)行反爬蟲機(jī)制,要進(jìn)行請(qǐng)求頭的模擬,通過調(diào)試窗口查找瀏覽器的請(qǐng)求頭,如圖2所示。

      圖2 請(qǐng)求頭頁(yè)面

      2.2 數(shù)據(jù)爬取

      網(wǎng)頁(yè)爬取,是利用requests 對(duì)網(wǎng)頁(yè)的源代碼進(jìn)行爬取下載。

      礦物成分簡(jiǎn)單,礦石礦物主要有閃鋅礦,次為方鉛礦、黃鐵礦;脈石礦物主要有方解石,見白云石、重晶石等。閃鋅礦自形—半自形粒狀,結(jié)晶較粗,一般粒徑為0.25~2 mm,約占80~90%,多為淡黃色~米黃色,肉眼清晰易辨,少量高角度細(xì)脈中閃鋅礦為棕褐色—黑褐色;方鉛礦以自形晶為主,粒徑一般1~4 mm;黃鐵礦自形—半自形晶粒狀產(chǎn)出,以粒徑0.2~0. 5 mm為主。方解石很普遍,存在于各種礦石類型,白云石、重晶石主要分布于細(xì)脈中。

      首先確定網(wǎng)頁(yè)的初始鏈接,使用requests 庫(kù)中的get 方法進(jìn)行HTTP 請(qǐng)求,但如果以此方法直接對(duì)網(wǎng)站進(jìn)行訪問,會(huì)有錯(cuò)誤產(chǎn)生,因?yàn)榫W(wǎng)站服務(wù)器檢測(cè)到并非瀏覽器訪問,拒絕訪問。所以要制定相應(yīng)的反爬蟲策略,反爬蟲的方法主要是爬蟲時(shí)進(jìn)行偽裝,來模擬瀏覽器的訪問。通過創(chuàng)建請(qǐng)求頭來進(jìn)行模擬,在URL鏈接插入的同時(shí)將已經(jīng)準(zhǔn)備好的瀏覽器請(qǐng)求頭填入,來避免爬蟲被攔截。

      在使用requests 獲取到網(wǎng)站源代碼后,得到的HTML 文檔,其含有關(guān)于網(wǎng)站所的HTML 標(biāo)簽,目標(biāo)數(shù)據(jù)包含在這些標(biāo)簽中,因此要對(duì)這些標(biāo)簽進(jìn)行解析來獲取想要的信息。在對(duì)HTML 文檔進(jìn)行解析時(shí),主要使用BeautifulSoup 庫(kù)來進(jìn)行解析,同時(shí)也可以使用re正則或者Xpath對(duì)進(jìn)行解析提取目標(biāo)信息。

      在對(duì)網(wǎng)頁(yè)進(jìn)行分析后發(fā)現(xiàn),每頁(yè)中各個(gè)景點(diǎn)的信息都在<ulclass=”list_itemclrfix”></ul>模塊下,如圖3所示。然后調(diào)用BeaytifulSoup 中的方法find_all,傳入?yún)?shù)name 得到列表,通過遍歷列表,獲取每個(gè)li 標(biāo)簽中的值,得到每個(gè)景點(diǎn)的相應(yīng)信息。

      圖3 景點(diǎn)的信息所在模塊

      將爬取到的數(shù)據(jù)存儲(chǔ)到一個(gè)csv 文件中,包括用戶的ID、景點(diǎn)的po(i景點(diǎn)的編號(hào))、用戶的評(píng)論分?jǐn)?shù)、評(píng)論時(shí)間以及評(píng)論等內(nèi)容。

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

      3.1 數(shù)據(jù)處理

      數(shù)據(jù)分析過程主要是對(duì)運(yùn)城旅游數(shù)據(jù)中的用戶評(píng)論進(jìn)行處理,這部分主要處理非結(jié)構(gòu)化數(shù)據(jù),對(duì)于用戶評(píng)論這些非結(jié)構(gòu)化數(shù)據(jù),需要用Jieba庫(kù)進(jìn)行分詞以及去掉停用詞處理。

      在使用Jieba 分詞時(shí),首先進(jìn)行初始化字典,然后切分短語,利用正則將文本切分成一個(gè)個(gè)語句,通過字符串匹配,構(gòu)建所有可能分詞情況的又向無環(huán)圖(DAG)。然后構(gòu)建節(jié)點(diǎn)最大路徑概率,以及結(jié)束位置。計(jì)算每個(gè)漢字節(jié)點(diǎn)到語句結(jié)尾的所有路徑的最大概率,并記下最大概率時(shí)再DAG中對(duì)應(yīng)的該字詞的結(jié)束位置。根據(jù)節(jié)點(diǎn)的路徑進(jìn)行字詞切割分組的結(jié)果就是分詞結(jié)果,Jieba 通過yield 將分好的詞存儲(chǔ)在列表中逐個(gè)返回。

      分詞結(jié)束后,會(huì)發(fā)現(xiàn)很多對(duì)于分析結(jié)果無意義的詞,將這些詞稱為停用詞。例如“的”,“就”,“有”,“可以”,“也”,“都”,“很”等字詞。所以需要將這些詞過濾掉從而減少數(shù)據(jù)噪聲,提高分析效率。過濾詞使用ordcloud 中的方法stopwords,直接將停用的詞編輯到stopwords即可。

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

      數(shù)據(jù)可視化主要包括Matplotlib 圖表的生成和wordcloud詞云制作。

      ⑴評(píng)論量分析

      通過Pandas 從csv 文件中將需要的數(shù)據(jù)進(jìn)行提取切片然后傳入Matplotlib 中進(jìn)行圖表繪制,將2017 年之后的每年的評(píng)論量繪制成條形圖,如圖4所示。

      圖4 每年的評(píng)論量

      由圖4可看出,近些年來,運(yùn)城的旅游人數(shù)在逐年增加,2020 年和2021 年上半年因受國(guó)內(nèi)外疫情影響,旅游人數(shù)減少,但是也有較多的旅游人次,可見運(yùn)城的旅游發(fā)展逐年受到關(guān)注,知名度越來越高。

      ⑵評(píng)分結(jié)果分析

      通過matplotlib 庫(kù)對(duì)網(wǎng)頁(yè)中有關(guān)運(yùn)城旅游評(píng)分結(jié)果進(jìn)行分析,并繪制為餅狀圖,如圖5所示。

      圖5 評(píng)分結(jié)果

      由圖5可看出,游客對(duì)運(yùn)城景區(qū)的評(píng)價(jià)分?jǐn)?shù),超過一半的游客對(duì)運(yùn)城的景區(qū)給予滿分評(píng)價(jià),百分之九十的游客給予比較滿意的評(píng)價(jià),百分之十五左右的游客不太滿意,可見游客對(duì)運(yùn)城旅游大部分評(píng)價(jià)很高。

      ⑶景點(diǎn)數(shù)量分析

      通過對(duì)運(yùn)城各個(gè)縣區(qū)的景點(diǎn)數(shù)量進(jìn)行爬取分析,繪制出條形圖,如圖6所示。

      由圖6可看出,運(yùn)城的旅游資源十分豐富,并且運(yùn)城的旅游分布廣泛,每個(gè)縣區(qū)都有一定數(shù)量的旅游景點(diǎn)。其中運(yùn)城鹽湖區(qū)和永濟(jì)市、芮城縣的旅游景點(diǎn)數(shù)量最多,聞喜、絳縣的旅游景點(diǎn)數(shù)量最少。

      圖6 各個(gè)縣區(qū)的景點(diǎn)數(shù)量

      ⑷評(píng)論文本分析

      通過Jieba 分詞將有關(guān)運(yùn)城旅游的評(píng)論文本進(jìn)行分詞,同時(shí)篩選出停用詞,然后傳入wordcloud 進(jìn)行詞云的生成,如圖7所示。

      圖7 景點(diǎn)評(píng)論文本

      由圖7 可看出,運(yùn)城的旅游景點(diǎn)的吸引游客之處主要在于景點(diǎn)的歷史、建筑風(fēng)格、風(fēng)景特色、壁畫以及黃河文化,運(yùn)城比較受歡迎的景點(diǎn)有鸛雀樓、黃河大鐵牛、永樂宮、普救寺以及解州關(guān)帝廟。詞云中的“值得”一詞說明游客對(duì)運(yùn)城景點(diǎn)反饋很好。

      4 結(jié)論

      本文通過Python 網(wǎng)絡(luò)爬蟲技術(shù)對(duì)運(yùn)城旅游數(shù)據(jù)進(jìn)行可視化分析,快速了解到運(yùn)城旅游發(fā)展現(xiàn)狀:①在2017年以來運(yùn)城旅游人數(shù)在逐年上升,運(yùn)城旅游的知名度提高;②游客對(duì)運(yùn)城的評(píng)價(jià)很高,游客對(duì)運(yùn)城的旅游給予肯定的態(tài)度;③運(yùn)城的旅游資源十分豐富,并且分布范圍廣;④運(yùn)城旅游主要受歡迎的景點(diǎn)有黃河大鐵牛、永樂宮、普救寺等景點(diǎn)。

      由此可知,運(yùn)城的建筑文物十分豐富,應(yīng)該加強(qiáng)文物的修復(fù)與保護(hù)力度,重視其中的歷史文化與藝術(shù)價(jià)值,保護(hù)好運(yùn)城的文物旅游資源;同時(shí)有關(guān)黃河文化的旅游也要大力發(fā)展,可以打造獨(dú)有的黃河文化旅游路線。

      本文數(shù)據(jù)可視化的呈現(xiàn),對(duì)運(yùn)城未來旅游業(yè)的發(fā)展可以提供一定的參考價(jià)值,但是還有很多不足之處需要改進(jìn),例如數(shù)據(jù)的獲取量并不是十分充足,還有諸多有關(guān)運(yùn)城旅游的特色之處沒有體現(xiàn)出來,可以根據(jù)旅游網(wǎng)站不斷增加的數(shù)據(jù)來彌補(bǔ)現(xiàn)有的不足之處,從而實(shí)現(xiàn)更全面、更深入的分析。

      猜你喜歡
      爬蟲運(yùn)城分詞
      利用網(wǎng)絡(luò)爬蟲技術(shù)驗(yàn)證房地產(chǎn)灰犀牛之說
      運(yùn)城面粉、運(yùn)城蘋果、運(yùn)城蔬菜 “三個(gè)運(yùn)城農(nóng)業(yè)品牌”打造運(yùn)城新名片
      基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
      點(diǎn)贊!李克強(qiáng)總理山西運(yùn)城趕年集
      運(yùn)城清廉地圖
      山西運(yùn)城:冬日鹽湖色彩斑斕
      結(jié)巴分詞在詞云中的應(yīng)用
      利用爬蟲技術(shù)的Geo-Gnutel la VANET流量采集
      大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲技術(shù)
      電子制作(2017年9期)2017-04-17 03:00:46
      值得重視的分詞的特殊用法
      扶绥县| 调兵山市| 临泽县| 玉门市| 兴宁市| 桂东县| 井研县| 安乡县| 马山县| 化隆| 景洪市| 诸暨市| 登封市| 桃园县| 西宁市| 斗六市| 民乐县| 绵阳市| 柳林县| 洪湖市| 泰州市| 仲巴县| 永川市| 崇阳县| 通山县| 固安县| 陆川县| 涡阳县| 南丰县| 金寨县| 仙居县| 太仆寺旗| 息烽县| 泽普县| 荆州市| 尉犁县| 常宁市| 鹤岗市| 蓝田县| 徐州市| 新野县|