999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于網(wǎng)絡(luò)爬蟲(chóng)技術(shù)的時(shí)令旅游信息獲取

2018-05-30 13:12:55鄭鑫臻吳韶波
物聯(lián)網(wǎng)技術(shù) 2018年5期
關(guān)鍵詞:旅游信息

鄭鑫臻,吳韶波

(北京信息科技大學(xué),北京 100101)

0 引 言

時(shí)令旅游以隨氣候的季節(jié)變化而呈現(xiàn)明顯季相性特征的旅游資源為觀賞、娛樂(lè)對(duì)象,如春季賞花、秋季觀紅葉等[1]。常規(guī)時(shí)令旅游信息獲取主要基于歷史物候觀測(cè)數(shù)據(jù),首先根據(jù)空間位置、氣溫、降水等數(shù)據(jù),預(yù)測(cè)新一年觀賞花花期,然后通過(guò)物候觀測(cè)站點(diǎn)驗(yàn)證調(diào)整。物候數(shù)據(jù)一般從紙質(zhì)版《中國(guó)自然歷選編》《中國(guó)自然歷續(xù)編》《自然物候觀測(cè)年報(bào)》中選取,經(jīng)過(guò)人工錄入、校對(duì),轉(zhuǎn)化為電子表格資料,再進(jìn)行相關(guān)分析研究,不僅耗費(fèi)巨大的人力、物力和時(shí)間,而且難以滿(mǎn)足時(shí)令旅游活動(dòng)開(kāi)展的需求[2,3]。此外,植物生長(zhǎng)時(shí)令對(duì)氣候變化敏感,準(zhǔn)確預(yù)測(cè)花期成為了時(shí)令旅游首要解決的難題[4]。

隨著互聯(lián)網(wǎng)的普及,海量的互聯(lián)網(wǎng)數(shù)據(jù)蘊(yùn)含了大量的時(shí)令旅游信息。網(wǎng)絡(luò)爬蟲(chóng)(Web Crawler)技術(shù)是快速獲取時(shí)令旅游相關(guān)信息的全新手段[5]。本文在概述網(wǎng)絡(luò)爬蟲(chóng)關(guān)鍵技術(shù)的基礎(chǔ)上,以四川省桃花花期為研究對(duì)象,進(jìn)行了基于網(wǎng)絡(luò)爬蟲(chóng)技術(shù)的時(shí)令旅游信息獲取案例實(shí)現(xiàn)。

1 關(guān)鍵技術(shù)

1.1 Python

Python語(yǔ)言是一種功能強(qiáng)大、語(yǔ)法簡(jiǎn)潔清晰的開(kāi)源編程語(yǔ)言,幾乎能在目前所有的操作系統(tǒng)上運(yùn)行。Python具有的豐富的標(biāo)準(zhǔn)庫(kù)和強(qiáng)大的第三方庫(kù)使其在爬蟲(chóng)開(kāi)發(fā)中具有非常明顯的優(yōu)勢(shì):當(dāng)模擬瀏覽器行為訪問(wèn)網(wǎng)站時(shí),Python的抓取接口比其他語(yǔ)言(如Java,C,C++等)更簡(jiǎn)潔;Python的requests庫(kù)能簡(jiǎn)潔高效地提取出網(wǎng)頁(yè)的HTML信息,Requests提供了HTTP所有的基本請(qǐng)求方式,如Post,Put,Delete,Head和Options等,在網(wǎng)絡(luò)爬蟲(chóng)中用于獲取網(wǎng)頁(yè)的HTML信息;Python提供的lxml庫(kù)能用簡(jiǎn)潔的代碼解析HTML標(biāo)簽,用于將可能不合法的HTML解析為統(tǒng)一格式,查找、定位標(biāo)簽,訪問(wèn)標(biāo)簽屬性、文本內(nèi)容等,完成文本提取工作[6]。

1.2 網(wǎng)絡(luò)爬蟲(chóng)通用框架結(jié)構(gòu)

通用的網(wǎng)絡(luò)爬蟲(chóng)框架結(jié)構(gòu)如圖1所示。

圖1 通用的網(wǎng)絡(luò)爬蟲(chóng)框架結(jié)構(gòu)

網(wǎng)絡(luò)爬蟲(chóng)的基本工作流程如下[7]:

(1)選取合適的起始URL,放入待爬取URL隊(duì)列;

(2)從待爬取URL隊(duì)列中取出URL,由網(wǎng)頁(yè)下載模塊下載URL對(duì)應(yīng)的網(wǎng)頁(yè)HTML,傳遞給數(shù)據(jù)解析模塊,再將下載過(guò)的URL放進(jìn)已爬取URL隊(duì)列;

(3)數(shù)據(jù)解析模塊解析收到的HTML,查找標(biāo)簽,提取出標(biāo)簽內(nèi)所需數(shù)據(jù),傳遞至數(shù)據(jù)清洗模塊,再將提取出的下一層URL傳遞至URL調(diào)度模塊;

(4)URL調(diào)度模塊收到數(shù)據(jù)解析模塊傳遞過(guò)來(lái)的URL后,將其和已抓取的URL隊(duì)列比較,進(jìn)行去重處理,舍棄已爬取過(guò)的URL,將未爬取過(guò)的URL放入待爬取URL隊(duì)列;

(5)網(wǎng)絡(luò)爬蟲(chóng)系統(tǒng)在(2)~(4)步循環(huán),直到待爬取隊(duì)列中的URL全部爬取完畢,或者用戶(hù)終止爬蟲(chóng)系統(tǒng);

(6)數(shù)據(jù)清洗模塊發(fā)現(xiàn)并糾正數(shù)據(jù)文件中可識(shí)別的錯(cuò)誤,最終將數(shù)據(jù)存入數(shù)據(jù)庫(kù)。

2 研究對(duì)象與數(shù)據(jù)來(lái)源

2.1 研究對(duì)象

四川省時(shí)令旅游開(kāi)展歷史悠久,其中桃花賞花旅游具有廣泛的群眾基礎(chǔ)[8]。媒體報(bào)道中對(duì)其有著豐富的歷史信息,從而降低了時(shí)令旅游信息獲取的難度,同時(shí)可將其與往年物候觀測(cè)記錄進(jìn)行比較,即可驗(yàn)證所獲取信息的準(zhǔn)確性。因此,本文以四川省桃花賞花旅游為研究對(duì)象,通過(guò)網(wǎng)絡(luò)爬蟲(chóng)技術(shù)獲取時(shí)令旅游信息。

2.2 數(shù)據(jù)來(lái)源

因?yàn)闀r(shí)令旅游對(duì)數(shù)據(jù)敏感,所以準(zhǔn)確性是時(shí)令旅游信息獲取首要考慮的問(wèn)題。因此,本文選取的時(shí)令旅游數(shù)據(jù)源為四川省當(dāng)?shù)刂堎|(zhì)媒體,如《成都商報(bào)》《華西都市報(bào)》《四川日?qǐng)?bào)》和《天府早報(bào)》等;知名門(mén)戶(hù)網(wǎng)站,如四川新聞、新浪和搜狐等;知名旅游網(wǎng)站,如攜程、去哪兒、螞蜂窩和驢媽媽等。

3 案例實(shí)現(xiàn)

本文以爬取《天府早報(bào)》正文為案例,詳述通過(guò)網(wǎng)絡(luò)爬蟲(chóng)技術(shù)獲取時(shí)令旅游信息的過(guò)程與方法。

3.1 起始URL

《天府早報(bào)》的首頁(yè)網(wǎng)址為https://e.thecover.cn/shtml/index_tfzb.shtml,該網(wǎng)站不具有特殊性,如果以此為起始URL,需要通過(guò)爬蟲(chóng)確定待爬取URL隊(duì)列,增加了爬蟲(chóng)下載、解析網(wǎng)頁(yè)的操作,既影響效率,又增加了被網(wǎng)站反爬蟲(chóng)機(jī)制檢測(cè)發(fā)現(xiàn)的風(fēng)險(xiǎn)。通過(guò)分析發(fā)現(xiàn),https://e.thecover.cn/shtml/tfzb/yyyymmdd/vB1.shtml為yyyy年mm月dd日《天府早報(bào)》的首頁(yè),修改該網(wǎng)址對(duì)應(yīng)日期,即可直接訪問(wèn)該日《天府早報(bào)》首頁(yè),通過(guò)以下代碼,輸入起始日期start_date與結(jié)束日期end_date,即可生成待爬取URL隊(duì)列。

3.2 獲取網(wǎng)頁(yè)HTML

通過(guò)Requests庫(kù)的r = requests.get(url)方法,可以獲取名為r的Response對(duì)象,Response對(duì)象中包含了該URL的HTML信息。部分網(wǎng)站服務(wù)器對(duì)非瀏覽器的請(qǐng)求不予響應(yīng),因此,爬蟲(chóng)需要在請(qǐng)求頭中加入瀏覽器信息,偽裝成瀏覽器對(duì)網(wǎng)站進(jìn)行訪問(wèn)請(qǐng)求。在瀏覽器地址欄中輸入about:version,可以查詢(xún)到瀏覽器的User-Agent,將其加入requests.get方法中,即可將爬蟲(chóng)程序偽裝成瀏覽器,向目標(biāo)網(wǎng)站服務(wù)器發(fā)起get請(qǐng)求。返回的Response對(duì)象的content屬性即為該URL的二進(jìn)制編碼HTML。

import requests

def get_response(url):

headers = {'

User-Agent': ‘Mozilla/5.0 (Windows NT 10.0 ; WOW64)

AppleWebKit/537.36(KHTML, like Gecko)'

'Chrome/53.0.2785.104 Safari/537.36 Core/1.53.2141.400

QQBrowser/9.5.10219.400'}

r = requests.get(url, headers=headers)

return r

3.3 解析HTML

通過(guò)解析報(bào)紙首頁(yè)的HTML,獲取該期報(bào)紙所有新聞的URL,再分別解析新聞網(wǎng)頁(yè)的HTML,即可獲得所需信息。lxml庫(kù)能高效解析HTML,通過(guò)lxml的etree.HTML解析完二進(jìn)制HTML后,選用Xpath選擇器,在XML文檔中對(duì)元素和屬性進(jìn)行遍歷。

from lxml import etree

def get_etree_items(content, xpath):

html = etree.HTML(content)

items = html.xpath(xpath)

return items

打開(kāi)瀏覽器的開(kāi)發(fā)者工具,可以發(fā)現(xiàn)如圖2所示的HTML結(jié)構(gòu),新聞后半段URL存于class屬性為title-list的標(biāo)簽u1下,通過(guò)XPath選擇語(yǔ)句//*[@class="title-list"]/li/a/@href,即可篩選出該期報(bào)紙所有新聞的后半段URL,再與https://e.thecover.cn/拼接即可得到完整的新聞URL。

圖2 《天府早報(bào)》HTML結(jié)構(gòu)

同樣地,分析新聞URL,新聞?wù)拇嬗贖TML的h3標(biāo)簽正文中,通過(guò)XPath選擇語(yǔ)句//h3/text(),即可獲取新聞?wù)摹4a如下:

news_response = get_response(index_url)

for detail in get_etree_items(news_response.content, '//*[@

class="title-list"]/li/a/@href'):

detail_url = index_url[0:20] + detail

detail_response = get_response(detail_url)

get_etree_items(detail_response.content, '//h3/text()')

3.4 數(shù)據(jù)清洗

判斷爬蟲(chóng)獲得的信息是否完整,包括HTML、時(shí)間、URL地址、正文。

def __validate_crawler_data(data):

if not data.get("content"):

raise StorageException

if not data.get("update_datetime"):

raise StorageException

if not data.get("url"):

raise StorageException

if not data.get("text"):

raise StorageException

最后,將獲取的爬蟲(chóng)數(shù)據(jù)存儲(chǔ)于基于分布式存儲(chǔ)的MongDB數(shù)據(jù)庫(kù)中。

4 結(jié) 語(yǔ)

本文構(gòu)建了以新聞媒體、門(mén)戶(hù)網(wǎng)站和知名旅游網(wǎng)站為數(shù)據(jù)源,以網(wǎng)絡(luò)爬蟲(chóng)技術(shù)為工具的時(shí)令旅游信息獲取方法,以《天府早報(bào)》新聞?wù)呐廊槔M(jìn)行了實(shí)例研究,最終爬取2013年6月1日至2017年12月31日之間《成都商報(bào)》《華西都市報(bào)》《四川日?qǐng)?bào)》和《天府早報(bào)》新聞300萬(wàn)條,四川新聞、新浪、搜狐、攜程、去哪兒、螞蜂窩和驢媽媽等旅游新聞20萬(wàn)條,所用時(shí)間累積不超過(guò)24小時(shí),表明通過(guò)網(wǎng)絡(luò)爬蟲(chóng)技術(shù)能高效獲取互聯(lián)網(wǎng)中大量的時(shí)令旅游信息,能有效支撐后續(xù)研究。

[1] 劉俊,李云云,劉浩龍,等.氣候變化對(duì)成都桃花觀賞旅游的影響與人類(lèi)適應(yīng)行[J].地理研究,2016,35(3):504-512.

[2] 韓超.中國(guó)近40年物候季節(jié)對(duì)氣候增暖的響應(yīng)研究[D].北京:中國(guó)科學(xué)院地理科學(xué)與資源研究所,2006.

[3] 畢伯鈞.自然物候歷應(yīng)用的研究[J].中國(guó)農(nóng)業(yè)氣象,1999,20(3):9-14.

[4] 馬麗,方修琦.近20年氣候變暖對(duì)北京時(shí)令旅游的影響——以北京市植物園桃花節(jié)為例[J].地球科學(xué)進(jìn)展,2006,21(3):313-319.

[5] 于娟,劉強(qiáng).主題網(wǎng)絡(luò)爬蟲(chóng)研究綜述[J].計(jì)算機(jī)工程與科學(xué),2015,37(2):231-237.

[6] 陳政伊,袁云靜,賀月錦,等.基于Python 的微博爬蟲(chóng)系統(tǒng)研究[J].大眾科技,2017,19(8):8-11.

[7] RICHARD L.用Python寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)[M].李斌,譯.北京:人民郵電出版社,2016.

[8] 董瑾.成都地區(qū)花卉旅游發(fā)展研究——以成都市各類(lèi)花節(jié)為例[D].成都:四川師范大學(xué),2012.

猜你喜歡
旅游信息
我們一起“云旅游”
少兒科技(2022年4期)2022-04-14 23:48:10
小A去旅游
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
旅游
展會(huì)信息
旅游的最后一天
出國(guó)旅游的42個(gè)表達(dá)
信息
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
健康信息(九則)
祝您健康(1987年2期)1987-12-30 09:52:28
主站蜘蛛池模板: 91视频首页| 免费在线色| 亚洲综合精品第一页| 国产波多野结衣中文在线播放| 国产91高清视频| 国产成人91精品免费网址在线| 久久国产av麻豆| 国产在线专区| 九色在线观看视频| 啊嗯不日本网站| 91探花在线观看国产最新| 亚洲欧洲日本在线| 午夜爽爽视频| 国产亚洲精久久久久久无码AV| 久久精品视频一| 欧美视频二区| 亚洲一级毛片免费观看| 国产本道久久一区二区三区| 久久天天躁狠狠躁夜夜2020一| 国产网友愉拍精品| 波多野结衣久久精品| 再看日本中文字幕在线观看| 永久免费AⅤ无码网站在线观看| 国产精品久线在线观看| 欧亚日韩Av| 99久久99视频| 亚洲免费毛片| 亚洲精品自在线拍| 久久黄色毛片| 人妻出轨无码中文一区二区| 亚洲视频在线观看免费视频| 91po国产在线精品免费观看| 久久综合一个色综合网| 日韩欧美国产另类| 欧美一区二区自偷自拍视频| 亚洲热线99精品视频| 久久久精品无码一区二区三区| 日韩大乳视频中文字幕| 欧美日韩国产在线观看一区二区三区| 欧美在线国产| 国产成人综合日韩精品无码首页| 国产精品香蕉在线观看不卡| 五月婷婷综合色| 欧美亚洲一区二区三区在线| 欧美在线中文字幕| 久久五月视频| 精品国产免费观看一区| 欧美中文一区| 国产拍揄自揄精品视频网站| 在线一级毛片| 毛片视频网址| 国产电话自拍伊人| 88av在线| 国产高清色视频免费看的网址| 国产乱子伦精品视频| 成人福利一区二区视频在线| 国产综合亚洲欧洲区精品无码| 国产精品无码久久久久久| 在线中文字幕网| 四虎永久免费地址在线网站| 一级不卡毛片| 欧美日韩成人| 亚洲人网站| 日本成人不卡视频| 91成人试看福利体验区| 国产欧美日韩精品综合在线| 四虎影院国产| 国产激情第一页| 精品自窥自偷在线看| 亚洲欧洲日产国产无码AV| 在线国产欧美| 日韩黄色在线| 色亚洲成人| 欧美伊人色综合久久天天| 欧美特黄一级大黄录像| 免费无码网站| 日韩欧美一区在线观看| 成年看免费观看视频拍拍| 成人午夜免费视频| 色成人综合| 高清不卡一区二区三区香蕉| 亚洲人人视频|