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

基于網絡爬蟲技術的時令旅游信息獲取

2018-05-30 13:12:55鄭鑫臻吳韶波
物聯網技術 2018年5期
關鍵詞:旅游信息

鄭鑫臻,吳韶波

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

0 引 言

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

隨著互聯網的普及,海量的互聯網數據蘊含了大量的時令旅游信息。網絡爬蟲(Web Crawler)技術是快速獲取時令旅游相關信息的全新手段[5]。本文在概述網絡爬蟲關鍵技術的基礎上,以四川省桃花花期為研究對象,進行了基于網絡爬蟲技術的時令旅游信息獲取案例實現。

1 關鍵技術

1.1 Python

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

1.2 網絡爬蟲通用框架結構

通用的網絡爬蟲框架結構如圖1所示。

圖1 通用的網絡爬蟲框架結構

網絡爬蟲的基本工作流程如下[7]:

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

(2)從待爬取URL隊列中取出URL,由網頁下載模塊下載URL對應的網頁HTML,傳遞給數據解析模塊,再將下載過的URL放進已爬取URL隊列;

(3)數據解析模塊解析收到的HTML,查找標簽,提取出標簽內所需數據,傳遞至數據清洗模塊,再將提取出的下一層URL傳遞至URL調度模塊;

(4)URL調度模塊收到數據解析模塊傳遞過來的URL后,將其和已抓取的URL隊列比較,進行去重處理,舍棄已爬取過的URL,將未爬取過的URL放入待爬取URL隊列;

(5)網絡爬蟲系統在(2)~(4)步循環,直到待爬取隊列中的URL全部爬取完畢,或者用戶終止爬蟲系統;

(6)數據清洗模塊發現并糾正數據文件中可識別的錯誤,最終將數據存入數據庫。

2 研究對象與數據來源

2.1 研究對象

四川省時令旅游開展歷史悠久,其中桃花賞花旅游具有廣泛的群眾基礎[8]。媒體報道中對其有著豐富的歷史信息,從而降低了時令旅游信息獲取的難度,同時可將其與往年物候觀測記錄進行比較,即可驗證所獲取信息的準確性。因此,本文以四川省桃花賞花旅游為研究對象,通過網絡爬蟲技術獲取時令旅游信息。

2.2 數據來源

因為時令旅游對數據敏感,所以準確性是時令旅游信息獲取首要考慮的問題。因此,本文選取的時令旅游數據源為四川省當地知名紙質媒體,如《成都商報》《華西都市報》《四川日報》和《天府早報》等;知名門戶網站,如四川新聞、新浪和搜狐等;知名旅游網站,如攜程、去哪兒、螞蜂窩和驢媽媽等。

3 案例實現

本文以爬取《天府早報》正文為案例,詳述通過網絡爬蟲技術獲取時令旅游信息的過程與方法。

3.1 起始URL

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

3.2 獲取網頁HTML

通過Requests庫的r = requests.get(url)方法,可以獲取名為r的Response對象,Response對象中包含了該URL的HTML信息。部分網站服務器對非瀏覽器的請求不予響應,因此,爬蟲需要在請求頭中加入瀏覽器信息,偽裝成瀏覽器對網站進行訪問請求。在瀏覽器地址欄中輸入about:version,可以查詢到瀏覽器的User-Agent,將其加入requests.get方法中,即可將爬蟲程序偽裝成瀏覽器,向目標網站服務器發起get請求。返回的Response對象的content屬性即為該URL的二進制編碼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

通過解析報紙首頁的HTML,獲取該期報紙所有新聞的URL,再分別解析新聞網頁的HTML,即可獲得所需信息。lxml庫能高效解析HTML,通過lxml的etree.HTML解析完二進制HTML后,選用Xpath選擇器,在XML文檔中對元素和屬性進行遍歷。

from lxml import etree

def get_etree_items(content, xpath):

html = etree.HTML(content)

items = html.xpath(xpath)

return items

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

圖2 《天府早報》HTML結構

同樣地,分析新聞URL,新聞正文存于HTML的h3標簽正文中,通過XPath選擇語句//h3/text(),即可獲取新聞正文。代碼如下:

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 數據清洗

判斷爬蟲獲得的信息是否完整,包括HTML、時間、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

最后,將獲取的爬蟲數據存儲于基于分布式存儲的MongDB數據庫中。

4 結 語

本文構建了以新聞媒體、門戶網站和知名旅游網站為數據源,以網絡爬蟲技術為工具的時令旅游信息獲取方法,以《天府早報》新聞正文爬取為例,進行了實例研究,最終爬取2013年6月1日至2017年12月31日之間《成都商報》《華西都市報》《四川日報》和《天府早報》新聞300萬條,四川新聞、新浪、搜狐、攜程、去哪兒、螞蜂窩和驢媽媽等旅游新聞20萬條,所用時間累積不超過24小時,表明通過網絡爬蟲技術能高效獲取互聯網中大量的時令旅游信息,能有效支撐后續研究。

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

[2] 韓超.中國近40年物候季節對氣候增暖的響應研究[D].北京:中國科學院地理科學與資源研究所,2006.

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

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

[5] 于娟,劉強.主題網絡爬蟲研究綜述[J].計算機工程與科學,2015,37(2):231-237.

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

[7] RICHARD L.用Python寫網絡爬蟲[M].李斌,譯.北京:人民郵電出版社,2016.

[8] 董瑾.成都地區花卉旅游發展研究——以成都市各類花節為例[D].成都:四川師范大學,2012.

猜你喜歡
旅游信息
我們一起“云旅游”
少兒科技(2022年4期)2022-04-14 23:48:10
小A去旅游
好孩子畫報(2018年7期)2018-10-11 11:28:06
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
旅游
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
旅游的最后一天
出國旅游的42個表達
海外英語(2013年8期)2013-11-22 09:16:04
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
健康信息(九則)
祝您健康(1987年2期)1987-12-30 09:52:28
主站蜘蛛池模板: 四虎国产永久在线观看| a毛片免费在线观看| 无码精品一区二区久久久| 亚洲天堂视频在线播放| 99热这里只有精品国产99| 国产高清毛片| 成人亚洲国产| 亚洲性一区| 国产网友愉拍精品视频| 在线观看国产黄色| 国产成本人片免费a∨短片| 国产小视频a在线观看| 国产精品成人不卡在线观看| 2021国产精品自产拍在线| 91精品国产麻豆国产自产在线| 国产黄色免费看| 2048国产精品原创综合在线| 欧美v在线| 欧美日韩理论| 114级毛片免费观看| 丝袜亚洲综合| 青青青国产免费线在| 日韩黄色在线| 欧洲熟妇精品视频| 精品国产三级在线观看| 高清码无在线看| 亚洲一区波多野结衣二区三区| 国产欧美亚洲精品第3页在线| 国产女同自拍视频| 国产精品99久久久久久董美香| 99热这里只有免费国产精品| 国产成人a在线观看视频| 亚洲成AV人手机在线观看网站| 91在线一9|永久视频在线| 国模粉嫩小泬视频在线观看| 国内黄色精品| 制服丝袜一区| 欧美国产在线精品17p| 九九精品在线观看| 国产日韩丝袜一二三区| 亚洲人成在线免费观看| 久久永久免费人妻精品| 欧美在线三级| 九九免费观看全部免费视频| 国产精品自在自线免费观看| 国产激情影院| 91国内视频在线观看| 国产91九色在线播放| 国产精品3p视频| 亚洲最大福利网站| 亚洲成aⅴ人片在线影院八| 国产午夜福利在线小视频| 欧美中文字幕在线视频| 99热国产在线精品99| 一本大道香蕉高清久久| 亚洲国产欧美国产综合久久| 韩日免费小视频| 亚洲码一区二区三区| 欧美亚洲欧美区| 91网在线| 欧美视频二区| 亚洲综合久久成人AV| 国产在线视频欧美亚综合| 又黄又爽视频好爽视频| 精久久久久无码区中文字幕| 在线观看视频99| 91最新精品视频发布页| 色欲综合久久中文字幕网| 欧美日本在线播放| 国产精品视频久| 国产熟女一级毛片| 亚洲国产av无码综合原创国产| 天天综合亚洲| 久久久久久午夜精品| 国产一级妓女av网站| 国产香蕉一区二区在线网站| 国产精品吹潮在线观看中文| 欧美午夜在线播放| 91九色视频网| 无遮挡国产高潮视频免费观看| 欧美午夜在线播放| 国产国拍精品视频免费看|