用Python分析大連景點,告訴你哪些景點性價比高
本文轉(zhuǎn)載自微信公眾號「志斌的python筆記」,作者志斌。轉(zhuǎn)載本文請聯(lián)系志斌的python筆記公眾號。
大家好,我是志斌~
再過幾天,志斌就要去大連開始為期三年的讀研生活啦,當然在讀書學習的同時,也要去體驗一下“魅力之都”的魅力,所以志斌用Python爬取了去哪兒網(wǎng)上大連景點的相關(guān)數(shù)據(jù),包括景點名稱、城區(qū)、熱度、價格、月銷量等數(shù)據(jù),對數(shù)據(jù)進行可視化并作簡單分析,用以找到性價比較高的景點。
一數(shù)據(jù)采集
去哪兒網(wǎng)的數(shù)據(jù)存儲非常簡單,都在源網(wǎng)頁中靜態(tài)存儲,我們只需構(gòu)造好URL之后,用Requests發(fā)起請求,然后用Bs4將數(shù)據(jù)提取出來,存儲到Excel中即可。
爬蟲的核心代碼如下:
- import requests
- from bs4 import BeautifulSoup
- import openpyxl
- for page in range(1,50):
- try:
- params = (
- ('from', 'mps_search_suggest_h'),
- ('keyword', '大連'),
- ('page', str(page)),
- )
- response = requests.get('https://piao.qunar.com/ticket/list_%E8%A5%BF%E5%AE%89.html', headers=headers, params=params)
- soup = BeautifulSoup(response.text,'html.parser')
- zongs = soup.find_all('div',class_='sight_item')
- for i in zongs:
- name = i.find('h3').text
- diqu = i.find(class_='area').find('a').text
- redu = round(float(i.find(class_='product_star_level').text.split()[-1][:4]) * 5, 2)
- dizhi = re.findall('地址:(.*?)地圖', i.find(class_='address color999').text)[0]
- jiage = float(i.find(class_='sight_item_price').find('em').text)
- yuexiao = int(i.find(class_='sight_item_sold-num').find('span').text)
- xingji = i.find(class_='level')
- jingweidu = i['data-point']
- ~~~
二數(shù)據(jù)處理
01導入景點數(shù)據(jù)
用pandas讀取爬取的景點數(shù)據(jù)并預覽。
- import pandas as pd
- df = pd.read_excel('大連景區(qū)數(shù)據(jù)_1.xlsx',names=['景點名稱','城區(qū)','熱度','地址','價格','月銷量','星級','經(jīng)度','緯度'])
- print(df.head())
02刪除重復數(shù)據(jù)
網(wǎng)站中有一定的重復數(shù)據(jù),需要將其刪除。
- df = df.drop_duplicates()
03查看數(shù)據(jù)信息
查看字段類型和缺失值情況,符合分析需要,無需另做處理。
- df.info()
三可視化分析
我們來對這164個景點數(shù)據(jù)進行可視化分析。
01景點介紹
通過對大連景點介紹進行詞云圖繪制,我們很容易看出大連的特點。博物館、休閑、歷史、文化等詞的大量提及,說明大連是一座歷史悠久的現(xiàn)代化城市。建筑、動物、主題等詞也有很多提及,表明大連的旅游環(huán)境輕松且多樣。
代碼如下:
- with open("推薦語.txt",) as f:
- job_title_1 = f.read()
- contents_cut_job_title = jieba.cut(job_title_1)
- contents_list_job_title = " ".join(contents_cut_job_title)
- wc = WordCloud(stopwords=STOPWORDS.add("一個"), collocations=False,
- background_color="white",
- font_path=r"K:\msyh.ttc",
- width=400, height=300, random_state=42,
- mask=imread('xin.jpg', pilmode="RGB")
- )
- wc.generate(contents_list_job_title)
- wc.to_file("推薦語.png")
02景區(qū)熱度top10
從景點評分來看,金石灘景點評分最高,為4.55分,其次是老虎灘公園和星海廣場,分別是4.5分和4.4分。怪不得一搜索大連的旅游攻略,每一個里面都有這幾個景點。
03景點價格top10
從景點價格來看,除了潛水中心這個景點略貴,其他景點價格都還可以接受,去大連游玩的朋友,時間充裕的話可以都體驗一下,志斌這三年是要都體驗一遍了~
04月銷量top10景點
從下圖可以看出,海昌發(fā)現(xiàn)王國的銷量最高,為908,其次是天門峽漂流,為786,志斌還沒去過漂流,正好趁著這次在大連讀書,抽時間去一次。
老虎灘海洋公園、大連森林動物園、大連圣亞海洋世界的銷量也不少,分別是542,488,458。
05月銷額top20景點
從下圖可以看出、月銷額較大的還是海昌發(fā)現(xiàn)王國、老虎灘海洋公園、大連圣亞海洋世界、看來月銷額受到月銷量的影響較大,受價格的影響較小。
06景點等級分布
從大連景點等級分布來看,3A以上等級的景點為24個,其中3A級景點1個,4A級景點21個,5A級景點2個。
07景點分布
從圖中我們可以看出,景點大部分分布在旅順區(qū)、中山區(qū)、金州區(qū)的東南沿海方位。如果來大連旅游的話,建議去旅順口區(qū)或者中山區(qū)去住,因為那里交通較為便利。
四小結(jié)
通過上面簡單的分析,我們大致可以獲得以下幾點發(fā)現(xiàn):
1. 大連是一座歷史悠久的現(xiàn)代化城市,很適合旅游。
2. 大連的景點主要集中在旅順區(qū)、中山區(qū)、金州區(qū),旅順區(qū)和中山區(qū)的景點附近有地鐵,所以建議住宿的時候可以盡量選擇住在這兩個區(qū),這樣出行游玩會比較方便。
3. 評分最高的景點是金石灘景點。
4. 本文僅供學習參考,不做它用。
溫馨提示:疫情還未結(jié)束,外出旅行做好個人防護。盡量避免到中高風險地區(qū)游玩。