本文转载自微信公众号「志斌的python笔记」,作者志斌。转载本文请联系志斌的python笔记公众号。
大家好,我是志斌~
五一马上就要到了,难得的五天假期,虽然这次假期的时间安排备受人们吐槽,但是我们还是要去外出游玩的。那么去哪里玩是一个问题。于是,志斌用Python爬取了去哪儿网上北京景点的相关数据,包括景点名称、城区、热度、价格、月销量等数据,对数据进行可视化并作简单分析,用以找到性价比较高的景点。
后台回复[北京]两字即可获得全部代码!
01数据采集
在之前的文章,我们已经详细的介绍了如何采集去哪儿网上的景点数据,不会的小伙伴可以看看这篇文章用Python分析西安景点,告诉你哪些景点性价比高。我们这里就不在详细介绍了,直接展示爬虫的核心代码:
- 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数据处理
01导入景点数据
用pandas读取爬取的景点数据并预览
- df = pd.read_excel('北京景区数据.xlsx',names=['景点名称','城区','热度','地址','价格','月销量','月销额','星级','经度','纬度'])
- print(df.head())
02删除重复数据
网站中有一定的重复数据,需要将其删除。
- df = df.drop_duplicates()
03查看数据信息
查看字段类型和缺失值情况,符合分析需要,无需另做处理。
- df.info()
03可视化分析
我们来对这485个景点数据进行可视化分析。
01景点介绍
通过对北京景点介绍进行词云图绘制,我们很容易看出北京的特点。休闲、温泉、体验、娱乐、历史、文化等词的大量提及,说明北京是一座历史悠久的现代化城市。
02热度top10景点
从景点评分来看,故宫和鸟巢评分最高,5分满分。其次是颐和园和八达岭长城,都是4.1分。怪不得一搜索北京的旅游攻略,每一个里面都有这几个景点。
03价格top10景点
从景点价格来看,这几个景点的花销都比价大,如果是穷游的朋友可以提前避开,对价格不敏感的朋友可以去体验一下。
04月销量top10景点
从门票月销量来看,故宫排第一,月销量15206。其次是八达岭长城和颐和园,月销量分别是10531和10162,其中恭王府、天坛公园和北京野生动物园也有5500+的月销量。
05月销额top20
从下图可以看出、月销额较大的还是故宫、北京野生动物园、八达岭长城、颐和园等等、,看来月销额受到月销量的影响较大,受价格的影响较小。
06景点分布
从图中我们可以看出景点主要集中在海淀区和丰台区、房山区,我们住宿的时候可以尽量选择住在这三个区,这样出行游玩会比较方便。
07景点等级分布
从北京景点等级分布来看,3A以上等级的景点为116个,其中3A级景点40个,4A级景点66个,5A级景点10个。
04总结
通过上面简单的分析,我们大致可以获得以下几点发现:
1. 北京是一座历史悠久的现代化城市。
2. 北京的景点主要集中在海淀区和丰台区、房山区,我们住宿的时候可以尽量选择住在这三个区,这样出行游玩会比较方便。
3. 故宫和鸟巢这两个景点的评分最高
4. 故宫的月销量最高,所以来北京一定要去故宫看看。
温馨提示:疫情还未结束,外出旅行做好个人防护。尽量避免到中高风险地区游玩。