者从泰山景区管委会了解到,为应对持续大客流,8月12日起,泰山门票政策微调,各进山口门票一次性全部放出,不再分批次在晚上、下午放票,线上线下同步售票、售完即止,其中夜间票每天1.8万张。
近七天的泰山门票,12日上午10:00已经一次性全部放到网上,此后不再追加每日的票量。13日上午10:00,线上将放第八天(8月20日)的泰山门票,此后,以此类推。
据了解,8月4日以来,泰山单日进山游客量已经连续4天超过4万人次,其中8月10日达到6.9万人次。此前,考虑到少部分不预约就出行游客的购票需求,泰山景区在当日会结合退票和实时在园游客等情况追加少量门票,但该人性化措施在超大客流条件下已经难以实施,也对“限量、预约、错峰”政策和旅游秩序维护造成了一定冲击。门票政策微调后,泰山景区将对未预约购票的游客实时现场劝返,提醒游客错峰出行、理性出行、安全出行。
综合:泰山景区、最泰安
来源: 潍坊高新传媒
者:胡萝卜酱
微信公众号:经济人学数据分析(ID:DAT-2017)
欢迎转载,请注明出处。
本文共1640字,建议阅读6分钟。
本文爬取了去哪儿网上面的6000多个景点数据,为你汇总并分析国庆出游情况。
出门游玩,走哪里都是人,人,人,人……。你的脑海里是否出现了以下画面:
为了方便大家的出游选择,小编爬取了去哪儿网上面的6000多个景点数据,包含景点评级、热度、销量等等数据,汇总成这篇出游参考指南。
爬虫
爬虫继续用的是小编最近的心头爱selenium,用法可以参考“爬虫神器selenium之猫眼电影榜单实例”。打开去哪儿网站,右键,分析网页。
我们需要的数据非常的清晰:
话不多说,只要定位到自己想要的信息,那么代码非常简单。
1from tqdm import tqdm 2import time 3from selenium import webdriver 4from selenium.common.exceptions import TimeoutException, WebDriverException 5import pandas as pd 6import numpy as np 7position=["北京","天津","上海","重庆","河北","山西","辽宁","吉林","黑龙江","江苏","浙江","安徽","福建","江西","山东","河南","湖北","湖南","广东","海南","四川","贵州","云南","陕西","甘肃","青海","台湾","内蒙古","广西","西藏","宁夏","新疆","香港","澳门"] 8 9name,level,hot,address,num=[],[],[],[],[] 10def get_one_page(key,page): 11 try: 12 #打开浏览器窗口 13 option_chrome=webdriver.ChromeOptions() 14 option_chrome.add_argument('--headless') 15 16 driver=webdriver.Chrome(chrome_options=option_chrome) 17 time.sleep(1) 18 19 url="http://piao.qunar.com/ticket/list.htm?keyword="+str(key)+"®ion=&from=mpl_search_suggest&page="+str(page) 20 driver.get(url) 21 infor=driver.find_elements_by_class_name("sight_item") 22 for i in range(len(infor)): 23 #获取景点名字 24 name.append(infor[i].find_element_by_class_name("name").text) 25 #获取景点评级 26 try: 27 level.append(infor[i].find_element_by_class_name("level").text) 28 except: 29 level.append("") 30 #获取景点热度 31 hot.append(infor[i].find_element_by_class_name("product_star_level").text[3:]) 32 #获取景点地址 33 address.append(infor[i].find_element_by_class_name("area").text) 34 #获取景点销量 35 try: 36 num.append(infor[i].find_element_by_class_name("hot_num").text) 37 except: 38 num.append(0) 39 40 driver.quit() 41 return 42 except TimeoutException or WebDriverException: 43 return get_one_page() 44 45for key in tqdm(position): 46 print ("正在爬取{}".format(key)) 47 #取前10页 48 for page in range(1,14): 49 print ("正在爬取第{}页".format(page)) 50 get_one_page(key,page) 51 52sight={'name': name, 'level': level, 'hot': hot, 'address': address, 'num':num} 53sight=pd.DataFrame(sight, columns=['name', 'level', 'hot', 'address', 'num']) 54sight.to_csv("sight.csv",encoding="utf_8_sig")
本文仅爬取国内的数据,由于景点数据众多,每个省份仅取了前13页。获得景点个数6630个。
数据可视化
热门景区top30:
大熊猫不愧为国宝,最热门就是它。其次是故宫,郑州动物园,峨眉山,秦始皇兵马俑等等。因为小编没有去过多少地方玩,也不知道为啥郑州动物园能排到第三,大家知道的可以告诉小编一下它的特色吗?
省份与评级:
说实话,这个图的配色真的是太丑了,主要是小编过于懒惰,不想好好配色了
。
热力图:
热力图根据省份和城市分别作图,其次在根据销量和热度两类图,这里采用的是“Python调用高德地图API实现经纬度换算、地图可视化”一文的方式,调用高德地图API完成。
首先是省份和景区热度:
然后是省份和销量:
接下来是城市和景区热度:
最后是城市和景区销量:
值得注意的是,城市和销量一图热力范围不明显,原因为景区之间销量天差地别,一些太少的的统计下来,作图非常的不明显了。若大家不喜欢用高德地图API作图,那么"人生苦短,我要用pyecharts画图"的方法也非常适合做热力图,比如这里小编做了一张省份和销量的图:
综合来看,北京,四川,沿海等地都是旅游的热门省份。建议大家尽量避免去这些省份游玩。
推荐景区:
知道了需要避免的景区和省份城市,那么可以去哪些人少的地方呢?这里胡萝卜酱根据景区分级,分别推荐15个人少的景区:
最后两张图是根据热度做的图,没有条形的则是热度为0,那么大家可以选择上述景点中热度较高的进行游玩。
可视化代码:
1data=pd.read_csv("sight.csv") 2data=data.fillna(0) 3data=data.drop(columns=['Unnamed: 0']) 4 5#将地址分为省,市,区 6data["address"]=data["address"].apply(lambda x: x.replace("[","").replace("]","")) 7data["province"]=data["address"].apply(lambda x: x.split("·")[0]) 8data["city"]=data["address"].apply(lambda x: x.split("·")[1]) 9data["area"]=data["address"].apply(lambda x: x.split("·")[-1]) 10 11#销量最多的前30景点 12num_top=data.sort_values(by='num',axis=0,ascending=False).reset_index(drop=True) 13import seaborn as sns 14import matplotlib.pyplot as plt 15plt.rcParams['font.sans-serif']=['Microsoft YaHei']#指定默认字体 16plt.rcParams['axes.unicode_minus']=False # 解决保存图像是负号'-'显示为方块的问题 17sns.set(font='SimHei') # 解决Seaborn中文显示问题 18sns.set_context("talk") 19fig=plt.figure(figsize=(15,10)) 20sns.barplot(num_top["name"][:30],num_top["num"][:30]) 21plt.xticks(rotation=90) 22fig.show() 23 24#省份与景区评级 25data["level_sum"]=1 26var=data.groupby(['province', 'level']).level_sum.sum() 27var.unstack().plot(kind='bar',figsize=(35,10), stacked=False, color=['red', 'blue','green','yellow']) 28 29#根据省、市统计销量和 30pro_num=data.groupby(['province']).agg('sum').reset_index() 31city_num=data.groupby(['city']).agg('sum').reset_index() 32#基于数据做热力图 33import requests 34def transform(geo): 35 key='bb9a4fae3390081abfcb10bc7ed307a6' 36 url="http://restapi.amap.com/v3/geocode/geo?key=" +str(key) +"&address=" + str(geo) 37 response=requests.get(url) 38 if response.status_code==200: 39 answer=response.json() 40 try: 41 loc=answer['geocodes'][0]['location'] 42 except: 43 loc=0 44 return loc 45 46pro_num["lati"]=pro_num["province"].apply(lambda x: transform(x)) 47city_num["lati"]=city_num["city"].apply(lambda x: transform(x)) 48pro_num.to_csv("pro_num.csv",encoding="utf_8_sig") 49city_num.to_csv("city_num.csv",encoding="utf_8_sig") 50 51from pyecharts import Map 52map=Map("省份景点销量热力图", title_color="#fff", title_pos="center", width=1200, height=600, background_color='#404a59') 53map.add("",pro_num["province"], pro_num["num"], maptype="china", visual_range=[5000, 80000], is_visualmap=True, visual_text_color='#000', is_label_show=True) 54map.render(path="pro_num.html") 55map=Map("省份景点热度热力图", title_color="#fff", title_pos="center", width=1200, height=600, background_color='#404a59') 56map.add("",pro_num["province"], pro_num["hot"], maptype="china", visual_range=[25,80], is_visualmap=True, visual_text_color='#000', is_label_show=True) 57map.render(path="pro_hot.html") 58 59#人少的5A景点,4A景点,3A景点 60top_5A=data[data["level"]=="5A景区"].sort_values(by='num',axis=0,ascending=True).reset_index(drop=True) 61top_4A=data[data["level"]=="4A景区"].sort_values(by='num',axis=0,ascending=True).reset_index(drop=True) 62top_3A=data[data["level"]=="3A景区"].sort_values(by='num',axis=0,ascending=True).reset_index(drop=True) 63fig=plt.figure(figsize=(15,15)) 64plt.pie(top_5A["num"][:15],labels=top_5A["name"][:15],autopct='%1.2f%%') 65plt.title("人少的5A景区") 66plt.show() 67fig=plt.figure(figsize=(15,15)) 68ax=sns.barplot(top_4A["hot"][:15],top_4A["name"][:15]) 69ax.set_title("人少的4A景区") 70fig.show() 71fig=plt.figure(figsize=(15,10)) 72ax=sns.barplot(top_3A["name"][:15],top_3A["hot"][:15]) 73ax.set_title("人少的3A景区") 74plt.xticks(rotation=90) 75fig.show()
结语
爬虫采集于2018.9.27,可能因为采集时间不同,结果会有偏差。需要注意的是,若采用pyecharts做城市和景区热度、销量的图时,需要考虑pyecharts无法获得一些景区位置,解决办法可以参考"《狄仁杰之四大天王》影评分析(爬虫+词云+热力图)"一文。
分析完了之后,小编反正决定国庆节都呆在家里了,不想出门,只想当快乐的肥仔。最后,祝大家国庆快乐!!!
录片《揭秘莎士比亚》第一季 (2012)画面。
1564年4月23日,传统上被认为是文坛巨匠莎士比亚的生日。莎士比亚是一名商人/法警的儿子。据猜测,莎士比亚很早就结了婚,并与妻子安妮·海瑟薇(Anne Hathaway)育有三个孩子。这些传说汇聚在距离英国伦敦西北约两小时车程的斯特拉特福(Stratford)。传说这里既是莎士比亚的出生地,也保留着安妮·海瑟薇婚前的旧居。
“我们相信威廉·莎士比亚于1564年4月就出生在这个房间。”莎翁故居出生室内的一块牌子上写道。来到此地参观的游客会看到床边放着一个摇篮,上面铺着毯子和一个枕头。导游通常会开始介绍莎士比亚童年的故事——他如何在这些房间玩耍、吃饭和做梦。尽管,他的童年实际上一片空白,从1564年受洗到1582年结婚,没有任何关于这期间的文字记录。
整个小镇的“莎士比亚浓度”颇高。游客们在参观完毕后前往街边的礼品店,购买莎士比亚T恤衫、早餐茶和茶巾,在莎士比亚橡皮鸭和冰箱贴前驻足。19世纪初,出生地的一位名叫霍恩比夫人的房客,曾向轻信的游客出售“莎士比亚遗物”,这些“遗物”最终于1848年在《本特利杂记》(Bentley’s Miscellany)的一篇文章中遭到曝光。文章称,这位夫人多年来先后出售了四把不同的椅子,每把都声称是“莎士比亚的椅子”。“莎士比亚”也成为当地旅游业的基石。在疫情暴发之前的 2019 年,该地旅游业收入约为 3.15 亿美元。
但“不朽的莎士比亚”真的出生在这里吗?
美国《纽约时报》近日发布的一篇探访文章做了相关的考证。莎士比亚故居的判定大体基于其父亲的相关记录。据说,约翰·莎士比亚曾于1556年在当地一条街上购买了一套公寓,不过,他也同时在附近的另一条街购买过房屋。这些说法则是根据一张罚款单推论出来的。1552年,约翰·莎士比亚曾因在亨利街某处的粪便堆遭罚。尽管这张罚单没有说明具体位置,不过人们据此猜测他在儿子威廉·莎士比亚出生时一定住在附近,也许可能只是以租客身份。
安妮·海瑟薇小屋的判断路径也大致相同。一项纪录称,安妮·海瑟薇的父亲约翰·海瑟薇,曾在女儿出生前13年在当地租用了90英亩农场,该农场上矗立着一座建筑,据说和海瑟薇家族有关。但目前并没有证据表明,安妮·海瑟薇就是在这里长大的。
“斯特拉特福允许——实际上是鼓励——英格兰最大的欺诈行为之一在肆无忌惮地发酵,”记者伯纳德·莱文 (Bernard Levin) 1965 年在英国《每日邮报》上抱怨道。“我指的是这两起巨大的欺诈行为——‘莎士比亚’的出生地和安妮·海瑟薇小屋。”
信仰的力量被不断放大,一度上升至公共层面。1847年,此地专门成立了一个委员会来为国家“抢救”这所房屋,并组织募集捐款。故居毗邻的房屋被拆除,墙壁被移动,地板被更换,新的门口和楼梯被建造。正如学者西德尼·李 (Sidney Lee)在 1901 年所述,它的新管理者将其改造成一个富裕的伊丽莎白时代家庭的宽敞舒适的住宅,而地窖则成为“唯一保持原样的部分”。
该委员会后来成为“莎士比亚出生地信托基金”。该信托基金随后还收购了更多财产,其中包括安妮·海瑟薇小屋,邀请游客“重温莎士比亚的爱情故事”。
时至今日,关于莎士比亚的故事似乎比相关史实更加引人注意。《纽约时报》这篇文章的作者称自己曾多次前往过当地,但这些年几乎没有变化。“莎士比亚中心现在正在展示现代艺术家对这位诗人的诠释,其中包括一幅戴着面具的超现实主义人物画像,暗示了围绕着他的神秘面纱。”
参考资料:
1.460 Years Ago, Shakespeare Was Born Here. Or Somewhere.
https://www.nytimes.com/2024/04/23/travel/shakespeare-birthplace-stratford-upon-avon.html
2.‘All the World’s a Stage’: William Shakespeare’s Birthday
https://pjmedia.com/catherinesalgado/2024/04/23/all-the-worlds-a-stage-william-shakespeares-birthday-n4928466
编译/申璐
编辑/王菡
校对/赵琳
*请认真填写需求信息,我们会在24小时内与您取得联系。