用Python分析北京景點(diǎn),告訴你哪些景點(diǎn)性價(jià)比高
本文轉(zhuǎn)載自微信公眾號(hào)「志斌的python筆記」,作者志斌。轉(zhuǎn)載本文請(qǐng)聯(lián)系志斌的python筆記公眾號(hào)。
大家好,我是志斌~
五一馬上就要到了,難得的五天假期,雖然這次假期的時(shí)間安排備受人們吐槽,但是我們還是要去外出游玩的。那么去哪里玩是一個(gè)問題。于是,志斌用Python爬取了去哪兒網(wǎng)上北京景點(diǎn)的相關(guān)數(shù)據(jù),包括景點(diǎn)名稱、城區(qū)、熱度、價(jià)格、月銷量等數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行可視化并作簡(jiǎn)單分析,用以找到性價(jià)比較高的景點(diǎn)。
后臺(tái)回復(fù)[北京]兩字即可獲得全部代碼!
01數(shù)據(jù)采集
在之前的文章,我們已經(jīng)詳細(xì)的介紹了如何采集去哪兒網(wǎng)上的景點(diǎn)數(shù)據(jù),不會(huì)的小伙伴可以看看這篇文章用Python分析西安景點(diǎn),告訴你哪些景點(diǎn)性價(jià)比高。我們這里就不在詳細(xì)介紹了,直接展示爬蟲的核心代碼:
- import requests
- from bs4 import BeautifulSoup
- import openpyxl
- for page in range(1,50):
- try:
- params = (
- ('from', 'mps_search_suggest_h'),
- ('keyword', '\u897F\u5B89'),
- ('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']
02數(shù)據(jù)處理
01導(dǎo)入景點(diǎn)數(shù)據(jù)
用pandas讀取爬取的景點(diǎn)數(shù)據(jù)并預(yù)覽
- df = pd.read_excel('北京景區(qū)數(shù)據(jù).xlsx',names=['景點(diǎn)名稱','城區(qū)','熱度','地址','價(jià)格','月銷量','月銷額','星級(jí)','經(jīng)度','緯度'])
- print(df.head())
02刪除重復(fù)數(shù)據(jù)
網(wǎng)站中有一定的重復(fù)數(shù)據(jù),需要將其刪除。
- df = df.drop_duplicates()
03查看數(shù)據(jù)信息
查看字段類型和缺失值情況,符合分析需要,無(wú)需另做處理。
- df.info()
03可視化分析
我們來對(duì)這485個(gè)景點(diǎn)數(shù)據(jù)進(jìn)行可視化分析。
01景點(diǎn)介紹
通過對(duì)北京景點(diǎn)介紹進(jìn)行詞云圖繪制,我們很容易看出北京的特點(diǎn)。休閑、溫泉、體驗(yàn)、娛樂、歷史、文化等詞的大量提及,說明北京是一座歷史悠久的現(xiàn)代化城市。
02熱度top10景點(diǎn)
從景點(diǎn)評(píng)分來看,故宮和鳥巢評(píng)分最高,5分滿分。其次是頤和園和八達(dá)嶺長(zhǎng)城,都是4.1分。怪不得一搜索北京的旅游攻略,每一個(gè)里面都有這幾個(gè)景點(diǎn)。
03價(jià)格top10景點(diǎn)
從景點(diǎn)價(jià)格來看,這幾個(gè)景點(diǎn)的花銷都比價(jià)大,如果是窮游的朋友可以提前避開,對(duì)價(jià)格不敏感的朋友可以去體驗(yàn)一下。
04月銷量top10景點(diǎn)
從門票月銷量來看,故宮排第一,月銷量15206。其次是八達(dá)嶺長(zhǎng)城和頤和園,月銷量分別是10531和10162,其中恭王府、天壇公園和北京野生動(dòng)物園也有5500+的月銷量。
05月銷額top20
從下圖可以看出、月銷額較大的還是故宮、北京野生動(dòng)物園、八達(dá)嶺長(zhǎng)城、頤和園等等、,看來月銷額受到月銷量的影響較大,受價(jià)格的影響較小。
06景點(diǎn)分布
從圖中我們可以看出景點(diǎn)主要集中在海淀區(qū)和豐臺(tái)區(qū)、房山區(qū),我們住宿的時(shí)候可以盡量選擇住在這三個(gè)區(qū),這樣出行游玩會(huì)比較方便。
07景點(diǎn)等級(jí)分布
從北京景點(diǎn)等級(jí)分布來看,3A以上等級(jí)的景點(diǎn)為116個(gè),其中3A級(jí)景點(diǎn)40個(gè),4A級(jí)景點(diǎn)66個(gè),5A級(jí)景點(diǎn)10個(gè)。
04總結(jié)
通過上面簡(jiǎn)單的分析,我們大致可以獲得以下幾點(diǎn)發(fā)現(xiàn):
1. 北京是一座歷史悠久的現(xiàn)代化城市。
2. 北京的景點(diǎn)主要集中在海淀區(qū)和豐臺(tái)區(qū)、房山區(qū),我們住宿的時(shí)候可以盡量選擇住在這三個(gè)區(qū),這樣出行游玩會(huì)比較方便。
3. 故宮和鳥巢這兩個(gè)景點(diǎn)的評(píng)分最高
4. 故宮的月銷量最高,所以來北京一定要去故宮看看。
溫馨提示:疫情還未結(jié)束,外出旅行做好個(gè)人防護(hù)。盡量避免到中高風(fēng)險(xiǎn)地區(qū)游玩。