亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于云計算的旅游信息聚合客戶端的研發(fā)

        2020-01-10 12:43:52盧弘卓黃家俊磨敦仁蔡群英
        現代計算機 2019年34期

        盧弘卓,黃家俊,磨敦仁,蔡群英

        (韓山師范學院計算機與信息工程學院,潮州 521041)

        0 引言

        網上有著各種各樣的旅游網站,而且其中的信息較為分散,這就導致了信息混亂,人們在短時間內很難找到對他們有用的內容[1]?;谠朴嬎闫脚_的旅游信息聚合客戶端的研發(fā),借助移動互聯(lián)網技術和信息聚合技術,解決從分散的數據中獲取潮州的旅游信息,方便用戶在手機上一站式的瀏覽。通過對用戶訪問網站的行為,為用戶進行個性化推薦。

        阿里云輕量級服務器是阿里巴巴旗下的產品,它具有如下的優(yōu)勢。一是易于使用,二是具有成本效益。Python[2]是一門腳本語言,天生就十分的簡潔,并且對數據方面的工作具有與生俱來的優(yōu)勢。SSM框架是由Spring+SpringMVC+MyBatis構成,用于Web項目的開發(fā)。Hadoop[3]作為開源的并行計算平臺,可以使用戶在不了解分布式底層細節(jié)的情況下進行相關的工作,并且它解決了兩個重要的問題:大數據存儲、大數據分析,即Hadoop的兩大核心:HDFS和MapReduce。

        1 系統(tǒng)設計

        1.1 系統(tǒng)架構

        系統(tǒng)采用Scrapy爬蟲框架獲取數據,并將獲取的數據存入MySQL數據庫中,SSM框架實現對數據庫中的數據進行訪問,以接口的形式與客戶端之間的交互,系統(tǒng)架構如圖1所示。

        圖1 系統(tǒng)架構圖

        前端采用目前流行的VUE框架來開發(fā),VUE是一套用于構建用戶界面的漸進式框架,采用MVVM設計模式(即Model-View-ViewModel),具體的架構如圖2所示。

        圖2 MVVM架構圖

        Model(模型)代表內容的數據訪問層,View(視圖)就是用戶在屏幕上看到的結構、布局和外觀。相比較MVC設計模式,多出的ViewModel視圖模型是MVVM模式的核心,它是連接View和Model的橋梁,能夠實現從視圖轉化成模型,也可以實現從模型轉化成視圖,這就是數據的雙向綁定。

        1.2 系統(tǒng)功能模塊

        旅游信息聚合客戶端的開發(fā),實際上大部分是對旅游相關信息的精簡“拷貝”,同時對移動終端的特點作了優(yōu)化及拓展,項目涉及的相關技術包括了網站和小程序的開發(fā),服務端網絡爬蟲及數據處理等。作為信息聚合客戶端的網站和微信小程序,應當提供如下功能:

        (1)發(fā)布的網站頁面,包括用戶的注冊登錄和評論、景點信息、住宿信息、新聞信息、游記信息等。

        (2)根據用戶的瀏覽記錄,給用戶推薦感興趣的信息。

        系統(tǒng)功能結構圖如圖3所示。

        圖3 功能結構圖

        1.3 數據庫設計

        趣潮游網站[4]涉及的表包括旅游酒店表、評論表、美食表、店鋪表、新聞表和游記文章表等。其中用戶表包括用戶姓名、性別、圖片和用戶推薦關鍵詞。訪問記錄表包括用戶id,訪問網頁類型,訪問目標網址,訪問次數的信息。

        各數據庫表具體如圖4所示。

        圖4 數據庫表圖

        2 系統(tǒng)實現

        2.1 網絡爬蟲和存儲

        一般網站通常具有靜態(tài)的導航頁面,并鏈接到具體信息頁面,網絡爬蟲從導航頁面開始,對網頁的結構進行分析,并且編寫相應的爬蟲程序。爬蟲的運行圖如圖5所示。爬蟲程序是使用Scrapy[5]框架且運行在服務器上的,所以需要先在服務器安裝Scrapy,具體流程如下:

        (1)先利用pip下載必要的包(Twisted,bzip2)

        (2)下載Scrapy并且設置環(huán)境變量

        以旅游新聞推薦的爬取為例,其信息處理過程如下:

        (1)服務器上通過使用crontab服務定時運行Scra?py腳本文件,設置的運行頻率是每天一次。服務器運行爬蟲時,從網頁中爬取信息,存入MySQL數據庫中。存入數據庫后,以存入的文章作為總的文本庫,從里面分割關鍵詞并存入數據庫中。

        (2)HTML具有相對規(guī)范化的文本層次結構,從中提取每條潮州旅游信息中的標題、作者、來源、圖片。

        (3)腳本成功運行之后,在Linux自帶的郵件日志中可以查看運行的情況。腳本中需要操作MySQL數據庫,所以在項目中引入了MySQL包來支持數據庫操作。由于有眾多頁面信息,不同頁面的爬取頻率不一,所以每一信息版塊都對應數據庫中的一張表。在進行重復爬取時使用scrapy_deltafetch插件進行去重,篩選掉重復的URL,實現了增量爬蟲。系統(tǒng)運行時爬取了各類網站中的游記、新聞、景點等許多信息。

        圖5 爬蟲運行圖

        2.2 PC客戶端的實現

        PC客戶端頁面開發(fā)主要采用HTML、CSS、Java Script[6]技術以及 jQuery、Bootstrap、Vue、Swiper等主流框架,其中主要采用Vue框架進行數據的雙向綁定,采用前沿的AJAX、axios技術訪問接口API數據。

        PC客戶端頁面主要采用1-1-1布局,首頁頂層主要是登錄注銷和導航欄信息,導航欄包括首頁、潮州介紹、景點介紹、美食介紹和客棧介紹,中間層主要是十條最新新聞信息、類別介紹和四條熱門的景點信息,底層主要是結尾圖標以及客戶端名稱。網站頁面如圖6所示。潮州介紹頁頂層主要是登錄注銷信息,中間層主要是潮州介紹的視頻以及地理位置,底層主要是結尾圖標以及客戶端名稱。景點介紹頁頂層主要是登錄注銷信息,中間層主要是模糊查詢框以及景點信息,底層主要是結尾圖標以及客戶端名稱。美食介紹頁、旅店介紹頁、新聞列表頁與景點介紹頁結構一致。

        圖6 網站頁面圖

        2.3 微信小程序的實現

        小程序作為一種客戶端,當前是比較受歡迎的,依托微信平臺,無需下載安裝就能使用。微信小程序通過微信開發(fā)者工具進行開發(fā)的,整個框架包括邏輯層、視圖層和flex模型,邏輯層由JavaScript編寫和實現的,視圖層由WXML和WXSS配合組件構成的,flex布局可以確保頁面適應不同的屏幕尺寸及設備類型。小程序自成體系,有自己的組件和API,極大地方便了開發(fā)者進行開發(fā)。項目的小程序部分,使用了組件里面的表單組件和基礎內容,例如label、input、button等。API方面使用了基礎、路由、界面和網絡方面的內容,例如網絡中微信小程序自帶的wx.request。用戶進入小程序和在小程序提交的事件采用axios請求后臺數據,后臺將數據傳給小程序并顯示。前后端統(tǒng)一了數據格式,且都以JSON格式進行交互。

        小程序的首頁有3個板塊,頂欄是小程序的名稱,頂欄下方是信息詳情列表頁,默認按照訪問次數多少來進行信息的排序,最后一欄是一個導航欄,有三個按鈕,分別是“景點”、“美食”、“客?!焙汀百Y訊”,點擊相應按鈕可以進入相應的板塊。其中新聞界面如圖7所示,景點界面如圖8所示。

        圖7 新聞界面圖

        圖8 景點界面圖

        2.4 推薦功能的實現

        用戶瀏覽的數據來源于數據庫中的日志記錄,且將其中的記錄寫入到txt文本文件中,作為推薦算法實現的輸入條件。記錄的文本內容格式如下:

        [time:2019/07/25 11:09:11][sip:www.quchaoyou.cn][method:POST][url:https://www.quchaoyou.cn/travelInfo/travelInfoById.action][uip:113.82.145.144][agent:Mozil?la/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/75.0.3770.100 Safa?ri/537.36]用戶:1234瀏覽指定新聞頁面 id:1408。

        算法的實現思路[7]:

        (1)后端根據用戶名從用戶表中獲取用戶讀過的文章id(后十條,重復的id需過濾掉)

        (2)然后根據id從新聞表中得到關鍵詞

        (3)利用得到的關鍵詞,在關鍵詞表中篩選出關鍵詞頻度最高的一個

        (4)利用關鍵詞查詢出相應的文章,需要判斷是否是讀過的文章,過濾掉讀過的文章然后其余的就推薦給用戶

        腳本運行的代碼如下:

        #!/bin/bash

        /usr/local/apache-tomcat-9.0.14/bin/shutdown.sh

        /home/hadoop/hadoop3.2/sbin/start-all.sh

        /home/hadoop/hadoop3.2/bin/hdfs dfsadmin-safemode leave

        /home/hadoop/hadoop3.2/bin/hdfs dfs-rm-r/user/output jar

        /home/hadoop/hadoop3.2/share/hadoop/tools/lib/hadoop-stream?ing-3.2.0.jar

        -file/opt/python/mapper.py

        -mapper"/root/Py37/bin/python3/opt/python/mapper.py"

        -file/opt/python/reducer.py

        -reducer"/root/Py37/bin/python3/opt/python/reducer.py"

        -input/user/input/sql_txt.txt

        -output/user/output

        /usr/local/apache-tomcat-9.0.14/bin/startup.sh

        /home/hadoop/hadoop3.2/sbin/stop-all.sh

        如圖9所示。

        圖9 推薦腳本運行圖

        3 結語

        項目對旅游相關的信息進行了聚合,并且提供了網頁和微信小程序兩種客戶端表現形式。用戶登錄之后,系統(tǒng)對用戶的行為進行了記錄,保存在日志文件和數據庫中,為推薦功能的實現提供數據。為了讓項目的數據量更加多,爬蟲方面的代碼需要進行調整,這是下一步努力的方向。

        无码av中文一区二区三区桃花岛 | 日韩精品真人荷官无码| 国产亚洲精品aaaa片小说| 免费看操片| 中文字幕日本人妻一区| 亚洲精品在线视频一区二区| 国产又粗又猛又黄又爽无遮挡| 中文字幕影片免费在线观看| 中国人妻沙发上喷白将av| 久久久熟女一区二区三区| 97久久综合区小说区图片区| 91精品国产综合久久久密臀九色 | 日韩午夜在线视频观看| 亚洲中文字幕人成乱码在线| 99精品国产在热久久无码| 亚洲 欧美 综合 另类 中字| 黄色三级视频中文字幕| av在线免费高清观看| 久久超碰97人人做人人爱 | 曰日本一级二级三级人人| 香蕉免费一区二区三区| japanesehd中国产在线看| 欧美黑吊大战白妞| 国产免费AV片在线看| 一区二区三区在线观看精品视频| 亚洲一区二区二区视频| 一本色道久久综合亚洲精品不卡| 狠狠色狠狠色综合网老熟女| 国产日本精品一区二区免费| 午夜时刻免费入口| 久久97精品久久久久久久不卡| 日韩少妇人妻一区二区| 日本av在线一区二区| 国产成人啪精品视频免费软件| 人妻有码中文字幕在线不卡| 草逼视频免费观看网站| 久久久精品一区aaa片| 亚洲产在线精品亚洲第一站一| 中文字幕一区二区网址| 亚洲无线一二三四区手机| 亚洲国产精品无码久久电影|