当前位置: 首页 > 科技观察

全国41611个景区,用Python告诉你哪些地方更值得去!

时间:2023-03-19 23:20:07 科技观察

经常听人说“世界那么大,我想去看看”。在你有机会走出国门之前,让我们先走一趟祖国吧。我们都知道中国地大物博,旅游资源非常丰富,古文化遗址、抗日战争遗址、山川河流等等,很多人在选择目的地的时候,都会很纠结,不知道该何去何从。为了以后不纠结,笔者打算深入分析一下全国旅游景点的分布情况。在下面输入主题。01.数据抓取去哪儿网的旅游信息非常丰富,不仅覆盖了全国几乎所有的景点,而且使用去哪儿网购买景点门票的人也非常多,所以笔者将抓取去哪儿网针对全国32个省市的所有观点数据。(香港和澳门的数据没有抓取,这里的景点也没有分***和4A。)去哪儿网的票务还没有开通API服务,所以只能分析抓取网页.采集的数据包括:景区名称、景区级别、位置、景区简介、价格、销量、知名度。定位到需要的数据,逐层分析,然后抓取所有需要的内容。但是并不是每个景点都有完整的信息,所以作者在里面加了一个try/except。虽然代码变长了,但是整个程序变得更健壮了。最终共采集到41611条景区信息。foriins:inf={}try:inf['level']=i.find('span',class_='level').text[0]exceptExceptionase:inf['level']='0'try:inf['价格']=i.find('span',class_='sight_item_price').find('em').textexceptExceptionase:inf['price']=''try:inf['name']=i.find('a',class_='name').textexceptExceptionase:inf['name']=''try:inf['num']=i.find('span',class_='hot_num').textexceptExceptionase:inf['num']=''try:inf['add_pro']=i.find('span',class_='area').find('a').text.split('·')[0]inf['add_city']=i.find('span',class_='area').find('a').text.split('·')[1]exceptExceptionase:inf['add_pro']=i.find('span',class_='area').find('a').textinf['add_city']=i.find('span',class_='area').find('a').texttry:inf['hot']=i.find('span',class_='product_star_level').find('em').get('title').split(':')[1]exceptExceptionase:inf['hot']=''try:inf['descri']=i.find('div',class_='introcolor999').textexceptExceptionase:inf['descri']=''02,数据分析***上图为最佳景区销售排名。可见秦始皇的兵马俑是最好的,是第二次长隆欢乐世界的5/3倍。没想到的是欢乐谷游乐园在前20名中占了6个席位,所以对于那些想发展旅游但没有优美风景和名胜古迹的城市来说,大力发展游乐园是个不错的选择园区产业。选择。广州长隆就是一个生动的例子。江苏省是全国国家级风景名胜区最多的省份,多达41处;其次是浙江省和广东省,共21个。总体而言,东部地区的景区数量远高于西部地区。西部虽然有很多美景,但是整体经济不好,景区开发不够,拉了很多后腿。如果想去人少风景好的地方,可以参考上图。比如武汉的东湖磨山、红旗渠、野三坡等(其实笔者也没听说过。)虽然销量不高,但依然是AAAAA级景区。defhuati(name,num,k):kk=[]foriinrange(len(name)):ifnotnumpy.isnan(num[i]):q=[]q.append(name[i])q.append(num[i])kk.append(q)hh=sorted(kk,key=lambdai:i[1],reverse=True)page=Page()att,val=[],[]foriinhh[:20]:att。append(i[0])val.append(i[1])bar1=Bar("",k+"A风景区营销量排名",title_pos="center",width=1200,height=600)bar1.add("",att,val,is_visualmap=True,visual_text_color='#fff',mark_point=["average"],mark_line=["average"],is_more_utils=True,is_label_show=True,is_datazoom_show=True,xaxis_rotate=45)页.add_chart(bar1)att,val=[],[]foriinhh[-20:]:att.append(i[0])val.append(i[1])bar2=Bar("",k+"景观区销售量排序",title_pos="center",width=1200,height=600)bar2.add("",att,val,is_visualmap=True,visual_text_color='#fff',mark_point=["average"],mark_line=[“平均”],is_more_utils=True,is_label_show=True,is_datazoom_show=True,xaxis_rotate=45)page.add_chart(bar2)page.render(k+"某景区销售栏.html")defsum_pro(pro,k):#每个省有多少个景区p=[]c=[]foriinset(pro):'''q={}q[i]=pro.count(i)p.append(q)'''p.append(i)c.append(pro.count(i))map=Map('省份'+k+'某景区distribution',width=1200,height=600)map.add("",p,c,is_visualmap=True,visual_range=[min(c),max(c)],visual_text_color='#000',is_map_symbol_show=True,is_label_show=True)map.render('省份'+k+'A景区分布.html')4A景区4A景区中,成都熊猫基地销量最好,大熊猫是最国宝。这个景点真的是杠杠的和**景点一样,欢乐谷游乐园等占了40%。我想这就是为什么南京虽然是六朝古都、民国首都,但是景区的销量和知名度都不高的原因。我希望在南京创造更多。几个大型游乐园!上图中可以看到,山东省是4A级景区最多的省份,有167家之多。浙江省、江苏省、广东省、河北省、四川省、4A级景区数量安徽省全部突破100个。4A级景区最少的省份是西藏,只有6个。3A级景区销量最好的3A级景区是竹林长寿山景区,但也只有1326个,处于4A级景区中上游。山东省的3A级景区数量最多,高达211个,而河南省、安徽省、辽宁省、黑龙江省、新疆省的3A级景区均超过100个。从各级景区的人气值综合比较就可以看出。人气值为1的景区占比近30%,而4A、3A级景区连成都一个都没有;反倒是几乎60%的3A景区人气值为0,看来这个3A景区是不是有点水了?不是每个***景点都能叫***的,不然会有近20%的人气值为0。defhottt(fivhot,fouhot,thrhot):fiv,fou,th=[],[],[]atts=['0','0.7','0.8','0.9','1']foriinzip(fivhot,fouhot,thrhot):fiv.append(round(i[0],1))fou.append(round(i[1],1))th.append(round(i[2],1))levels=['***','4A','3A']data={}data['att']=attsdata['***'],data['4A'],data['3A']=[],[],[]foriinrange(len(atts)):data['***'].append(round(fiv.count(float(atts[i]))/len(fiv)*100,3))数据['4A'].append(round(fou.count(float(atts[i]))/len(fou)*100,3))data['3A'].append(round(th.count(float(atts[i]))/len(th)*100,3))print(data)output_file("bars.html")#输出文件名x=[(att,level)forattinattsforlevelinlevels]counts=sum(zip(data['***'],data['4A'],data['3A']),())source=ColumnDataSource(data=dict(x=x,counts=counts))p=figure(x_range=FactorRange(*x),plot_height=250,title="不同等级的景点人气比例",toolbar_location=None,tools="")p.vbar(x='x',top='counts',width=0.9,source=source)show(p)从各级景区的箱线图中可以看出人气***景区价值最高,整体价值在0.7以上。4A级景区平均人气中位数在0.7左右,但高于0.7的景区太少了。3A级景区就更不用说了,整体人气值很低。从景区销售箱图可以看出,***景区销量远超4A、3A景区,***景区3/4点达到400,而4A级景区仅82个;而4A级景区的箱形图与3A级景区的箱形图非常相似;看来大家对4A景区和3A景区不是很感兴趣。defbox(q,w,e,l):a=go.Box(y=q,name='***景区')b=go.Box(y=w,name='4A景区')c=go.Box(y=e,name='3A景点')g=go.Box(y=l,name='所有景点')data=[a,b,c,g]layout=go.Layout(legend=dict(font=dict(size=16)),orientation=270)fig=go.Figure(data=data,layout=layout)plotly.offline.plot(data)生成所有景区的词云图spotswithR:位置、文化、休闲、旅游、体验、景区、公园、历史、娱乐等词,你熟悉吗看来商家对景点的概括也差不多。各级景点比较完了,再给官家扫雷吧。上图为4A级景区销售排名前20名。中国有2193个4A级景区,这20个依然排名第一。我们来比较一下4A级景区的人气评分。去。首先,如果说3A级景区不推荐大家去参观,因为人气值实在是太低了;那么上面列出的20个景点,根本不建议去。全国共有1933个AAA级景区,这20个排名第一。可想而知,去到那里会有多么震撼。高德地图可视化高德地图的API非常好,提供了各种地图相关的功能。其中之一是网络服务中的地理/反向地理编码。将去哪儿爬取的景点地址数据,通过地理编码转换成对应的经纬度。例如:北京方恒国际中心A座经过地理编码后的经纬度为116.480656和39.989677。它的URL:https://restapi.amap.com/v3/geocode/geo?address=address&output=XML&key=&city=city其中output是输出格式,一共有两种,XML和JSON;address是要进行地理编码的地址,city是城市。Word很便宜,给我看代码!deftrans(city,name,pro,level):foriinrange(len(name)):x=pandas.DataFrame()t={}add=name[i]chengshi=city[i]parameters={'地址':add,'key':'','city':chengshi}html=requests.get('https://restapi.amap.com/v3/geocode/geo',params=parameters).json()try:t['jingwei']=html['geocodes'][0]['location']exceptIndexError:t['jingwei']='0,0'finally:t['n']=name[i]t['level']=level[i]t['pro']=pro[i]t['city']=city[i]x=x.append(t,ignore_index=True)x.to_csv('55543.csv',encoding='utf-8',index=False,mode='a',header=False)全国各级风景名胜区分布图从多边形热图可以看出,北京是一个旅游资源丰富的城市.如果只想去一个城市一段时间,可以先选择北京。重庆、广州、天津、苏州等也是不错的选择。全国景区分布热力图作者做了一个全国旅游景区分布轨迹的动画,链接如下:lbs.amap.com/dev/mapdata/share/7b986430c10e197fcb5babbddd510c67***快来看看作者的家乡湖南吧。去湖南游玩,一定要去长沙!其次,张家界、永州、怀化、郴州也值得一去。相关代码和数据已经上传到GitHub:https://github.com/zuobangbang/qunaer