三亞學院 楊 月
旅游行為特征已成為目前學者們的研究重點。學者們在以往的旅游行為研究中很多采用問卷調查來獲取數據。而在信息時代,人們通過博客、微博、微信朋友圈來發布自己的旅游感觸,學者們便通過游客在網絡發布的網絡游記來獲取數據。近年來,部分學者展開了對旅游方面的研究,如林毅焜在基于文本挖掘的典型旅游網站的旅游分享研究以陜西省為例一文中,采用文本挖掘的方法,選取攜程網、去哪兒網等旅游網站作為研究樣本,對旅游游記中詞出現的頻率、語言所蘊含的意義、網絡情感進行分析。呂宛青等在基于網絡文本分析的麗江大研古城旅游迷思演變研究一文中通過對網絡游記和相關文獻的分析,發現了古城多年來旅游演變的根本原因。徐柳在婺源篁嶺品牌傳播策略的優化研究——以游客網絡游記為樣本一文中,從消費者感知視角來考量婺源篁嶺的品牌傳播效果,并就其品牌傳播策略的優化進行探討。劉彥花等在基于網絡游記的游客旅游行為特征分析一文中以到訪廣西的游客為研究對象,基于網絡爬蟲技術研究旅客行為特征。本文基于游客發布于旅游網站的網絡游記,從吃、住、行、玩等方面歸納總結到訪三亞游客旅游行為特征,從而為三亞開展合適的旅游景點宣傳提供參考,也為促進三亞旅游行業的發展做出一定的貢獻。
隨著大數據時代的來臨,網絡爬蟲在互聯網中的地位至關重要。面對互聯網龐大、海量的數據,如何自動且高效地獲取互聯網上為人們所用的數據是非常重要的一個問題。而爬蟲技術就很好的解決這一問題。網絡爬蟲是依靠預先設定好的規則而進行自動的抓取網絡信息的過程。網絡爬蟲也叫做網頁追逐者,以往人們獲取互聯網信息都是采用手工的方式,這樣使得搜集成本過高、效率比較低下,而網絡爬蟲進行數據信息的采集與整理時,可以依靠預先設定好的規則自動地從互聯網中爬取。如今在大數據時代,信息是一個企業生存的重要命脈,因此信息的采集工作對企業來說至關重要。
網絡爬蟲按照系統組成結構和技術的實現上分為通用網絡爬蟲、聚焦網絡爬蟲、增量式網絡爬蟲、深層網絡爬蟲等類型。通用網絡爬蟲的爬取目標是全互聯網資源,目標數據、爬行范圍都很龐大、主要應用于大型搜索引擎中。通用網絡爬蟲的工作流程是先抓取網頁,通過搜索引擎將準備爬取的地址加入到通用爬蟲的地址隊列中,然后進行網頁上內容的爬取。爬取后要對爬下來的數據進行存儲、保存到本地,在這個過程中會存在把某個網頁大部分重復的內容去除的情況。然后對爬下來的數據進行預處理提取文字、分詞、消除噪音。
聚焦網絡爬蟲是有選擇地按照預先定義好的主題進行網頁爬取,目標數據、爬行范圍相對通用網絡爬蟲比較小。和通用爬蟲相比,爬取目標為與主題相關的頁面,它能夠從海量的信息庫中選擇精準有效的信息,該爬蟲可以很大的節省爬取所需的硬件和網絡資源,還可以很好地滿足一些特定人群對特定領域信息的需求。
增量式網絡爬蟲通過爬蟲程序監測某網站數據改變的情況,以便可以爬取到這個網站更新后的數據。通過增量式爬蟲可以繼續爬取因一些原因未完全爬完的數據,或者網站更新的數據。
Web頁面按其存在方式可劃分為深層和表層頁面。表層頁面指傳統搜索引擎可以索引的頁面,能通過靜態鏈接直接獲取,不需要提交表單;深層頁面需提交一定的關鍵詞之后才能獲取得到的頁面,它不能通過靜態鏈接直接獲取。在互聯網中,表層頁面比深層頁面數量少的多,因此實際爬取過程中要想辦法爬取深層頁面。
全互聯網是由相互鏈接的網站及頁面組成的。從理論上說,爬蟲從任何一個頁面出發,沿著鏈接都可爬完網上的所有頁面。由于網站及頁面具有非常復雜的鏈接結構,爬蟲需要采取一定的爬行策略才能爬完網上所有頁面。實現一個完善的爬蟲系統,爬行策略至關重要。爬行策略有如下幾種:深度優先爬行策略是爬蟲沿著發現的鏈接先爬取一個網頁,然后一直往前爬行,爬行到前面再也沒有其他鏈接為止,然后在返回到第一個頁面,沿著另一個鏈接再一直往前爬行。如圖1所示,爬取的順序是A→D→E→B→C→F→G;廣度優先爬行策略:是指爬蟲在一個頁面上發現多個網絡鏈接時,不是沿著一個網絡鏈接一直向前爬行,而是先把頁面上同一層次鏈接都爬一遍,然后再沿著第二層頁面上發現的鏈接爬向第三層頁面。爬取的順序是A→B→C→D→E→F→G;大站優先爬行策略是對于準備抓取地址隊列中的所有網頁,把其根據所屬的網站進行分類,優先爬取網站的網頁數量比其他多的網站。反鏈爬行策略是指的是一個網頁被其他網頁鏈接指向的數量,當某個網頁的內容受到其他人的推薦的程度高,這種網頁被優先爬取。

圖1 網頁層次結構圖
(1)正則表達式
在Python 編程過程中會常使用公式中的正則表達式。正則表達式和常用的通配符類似,是用來進行文本匹配的工具。和常用的通配符相比,正則表達式更能精確描述編程者的要求。正則表達式匹配是網絡內容分析與信息處理的關鍵技術,它是由美國數學家提出來的一種強大的工具用于字符的匹配和替換,主要的功能是用來匹配、替換和提取。同時能夠非常快速精準的處理一系列比較復雜的字符串的檢索、替換和提取,具有快速匹配文本進行信息抽取的特點。普通字符,非打印字符,通用字符,原子表這些字符組成了正則的基本部分。描述和分析文本內容可以適用正則表達式進行文本匹配,一般的文本字符都是可以通過一定的轉化為對應的正則表達式的形式。正則表達式雖然描述能力強,但是若要實現匹配功能,還要進行等價轉化。復雜的正則語義邏輯會增加時間和空間的復雜度,因此,正則表示不太利于大規模集合的構造和高速的數據流匹配。
(2)XPath路徑語言
XPath語言是一種專門在XML文檔中用于查找想要信息的語言, XML程序可利用XPath在XML文檔中對元素和屬性進行導航。之所以需要導航是因為XML文檔是用來進行數據存儲的,若需要將數據提取出來使用,要通過查找標簽和屬性來獲取存儲的數據。
(3)Beautiful Soup
Python一個網頁解析的庫是Beautiful Soup,Beautiful Soup最主要的功能是從可以從網頁抓取想要的數據。它可以從HTML或XML文件中提取數據。Beautiful soup支持不同的解析器,比如對HTML、XML、HTML5解析,一般情況下,用的比較多的是lxml解析器,編寫完整的應用程序Beautiful Soup所需要的代碼較少。
Python語言是高級語言具有很強的可讀性,c、c++、java等編程語言一般使用英文關鍵字,和這些語言相比較,Python是一種更有特色的交互式語言,用戶編程時可以在Python提示符后直接執行代碼,還能夠簡單有效地面向對象編程。同時,該語言語法結構比較獨特、交互性好、結構也比較簡單、相對其它語言編碼更容易,適合非計算機專業的人員。
游客往往把旅游游記通過網絡發布在一些網站,本文以2020年以來游客來三亞游玩后,發布在“攜程網”的數據為搜索范圍,在信息采集過程中將搜索范圍的網址作為網絡爬蟲的目標網址,最后采集這些信息,信息采集完成后將其導出為EXCEL表格數據。本次爬蟲共收集到2萬余條網絡游記,通過爬蟲選取了100余篇,為了確保數據的可靠性以及研究的真實性,需要對選取的樣本進行預處理,在處理樣本時需按照以下步驟進行:一是去噪利用結巴庫中的停用詞將中文標點、英文單詞、符號等與內容無關的部分剔除。二是利用結巴庫中的cut方法采用精確模式進行文章的分詞。三是利用統計的方法將詞頻進行統計排序并將前二十幾名詞頻進行分析。
分析的結果顯示:當前游客來三亞游玩常用的旅游交通工具有航空、鐵路等,游客從客源地到三亞的交通以飛機居多,表明大部分游客來三亞都是選擇飛機作為交通工具。游客來三亞的主要有度假、拍攝婚紗等活動,另外從游記的詞頻排名中可以看出選擇“亞龍灣”“海棠灣”住宿比較多。旅游景點方面“亞龍灣”、“蜈支洲島”、“天涯海角”“南山寺”出現頻次較多。飲食方面選擇海鮮、小吃種類比較多。
總結:本文通過研究網絡爬蟲技術,以三亞攜程上網絡游記為例,深入理解網絡爬蟲的概念、爬蟲策略等各個方面。數據顯示通過詞頻分析可以得出:第一,游客在三亞的主要有度假、拍攝婚紗等活動。第二,這些活動所寫的游記高頻詞頻主要是吃、住、行、玩這幾個方面。因此,三亞應從這些詞頻出現比較多的各個方面發力,以提高三亞旅游業的發展。