专栏首页Python爬虫与数据挖掘Python大佬抓取了全国旅游景点,告诉你去哪嗨

Python大佬抓取了全国旅游景点,告诉你去哪嗨

经常听到别人说“世界那么大,我想去看看”。在有机会走出国门之前,还是先把咱大中国走一转吧。都知道中国地广人不稀,旅游资源非常丰富,古代的,抗战的,山川,河流,大海等等,在选择目的地的时候非常纠结,不知道去哪更好。为了以后不在纠结,笔者打算好好扒一扒全国的旅游景点分布。话不多说,进入正题。

01

数据抓取

去哪儿网有着非常丰富的旅游信息,不但几乎涵盖了全国所有景点,而且使用去哪儿网购买景区门票的人也非常多,所以笔者将爬取去哪儿网全国32个省的所有景点数据。(没有抓取中国香港和中国澳门的数据,这边的景点并没有分5A,4A)

去哪儿网的门票这一服务暂时还没有开通api服务,所以只能对网页解析爬取。要抓取的数据有:景点名,景区等级,地点,景区简述,价格,销量以及热度。

将需要的数据进行定位,一层一层解析,就可以把所需的全部内容抓取下来了。需要注意的是,不能爬取的太多频繁,笔者的IP就被封了几次。。。对于这种情况,可以加一个代理池。(可能笔者代理池做的比较辣鸡,导致加了代理以后抓取的速度直线下降)。

for i in s:
    inf = {}
    try:
        inf['level'] = i.find('span', class_='level').text[0]
    except Exception as e:
        inf['level'] = '0'
    try:
        inf['price'] = i.find('span', class_='sight_item_price').find('em').text
    except Exception as e:
        inf['price'] = ''
    try:
        inf['name'] = i.find('a', class_='name').text
    except Exception as e:
        inf['name'] = ''
    try:
        inf['num'] = i.find('span', class_='hot_num').text
    except Exception as e:
        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]
    except  Exception as e:
        inf['add_pro'] = i.find('span', class_='area').find('a').text
        inf['add_city'] = i.find('span', class_='area').find('a').text
    try:
        inf['hot'] = i.find('span', class_='product_star_level').find('em').get('title').split(':')[1]
    except  Exception as e:
        inf['hot'] = ''
    try:
        inf['descri'] = i.find('div', class_='intro color999').text
    except Exception as e:
        inf['descri'] = ''

并不是每一个景点的信息都是全的,所以笔者加了一个try/except进去,虽然代码有变长,但是整个程序变得更加健壮呀。最终,一共抓取了41611条景点信息。

02

数据分析

5A级景区

上图为5A景区的销量排行,可以看出秦始皇兵马俑遥遥领先,是第二名长隆欢乐世界的5/3倍。让笔者没有想到的是欢乐谷游乐园等在前二十名中占了六个席位,所以对于那些想发展旅游业但是没有美丽风景或者历史古迹的城市而言,大力发展游乐园行业是一个不错的选择。广州长隆就是一个鲜活的例。

江苏省是全国5A级景区最多的一个省,有41个之多;其次是浙江省和广东省有21个。总体而言,东部地区的5A景区数量是远高于西部的,虽然西部的美景非常多,但是整体经济不行,对景区的开发力度不够,拉了不少后退。

如果大家想去人少景美的地方,可以参考上图。比如武汉的东湖磨山,红旗渠,野三坡等等(其实笔者都木有听过。。。)虽然它们的销量低,但好歹也是AAAAA级风景区。

4A景区

在4A景区里,成都熊猫基地的销量是最高的,大熊猫最为国宝,这吸引力真是杠杠的呀。和5A景区一样,欢乐谷游乐园等占了四成,我想这就是大南京虽然是六朝古都,又是中华民国的首都,可是景区无论销量还是人气都不高的原因把。。。强烈要求在南京弄个大型游乐园!!!

在上图中可以看到山东省是4A景区最多的省,有167个之多。而浙江省,江苏省,广东省,河北省,四川省,安徽省的4A景区数量均超过了100。4A景区最少的省是西藏,居然只有6个?!

3A景区

3A景区销量最高的是竹林长寿山景区,但也只有1326,在4A景区的中上游。

山东省的3A景区数量全国第一,高达211个,而河南省,安徽省,辽宁省,黑龙江省,新疆省3A景区均在100个以上。

综合对比

从各等级景区人气值可以看出,人气值为1的5A景区占了将近三成,而4A和3A景区连一成都没有;相反,人气值为0的3A景区差不多有六成,看来这个3A景区不是一点点水呢。。。5A景区也并非每一个都称得上5A这个名号,不然也不会有近两成人气值为0。

从各级景点的箱型图可以看出,5A景区人气值是遥遥领先的,整体在0.7以上。4A景区人气均值中位数在0.7左右,不过高于0.7的景区实在太少了。3A景区就更不用说,整体人气值非常低。

从景区销量箱型图可以看到:5A景区的销量是远超过了4A和3A景区,5A景区的3/4分为点达到了400,而4A景区的仅为82;而4A景区的箱型图和3A的非常类似;看来大家对4A景区和对3A景区兴趣都一致的不大呢。

将所有景点的概述用R生成了一个词云图:位于,文化,休闲,旅游,体验,景区,公园,历史,娱乐等等这些词是不是很熟悉呢。看来商家对景区的概括都差不多呢。

对比完各级景点,下面来给各位看官排排雷。

上图是4A级景区销量排名的最后20位,全中国有2193个4A级景区,这20个还排在最后,在对比一下大家对4A级景区的人气评分,想想还是不要去了。。。

首先,如果说3A级景区不太推荐大家去游玩,因为人气值实在低的可怕;那上面列出的这20个景点那就是完全不建议游玩了。全国一共1933个AAA级景区,这20个排在最后,可想而知去了会多么震惊了。。。

高德地图可视化

高德地图的API真的非常好啊,它提供各种和地图有关的功能。其中有一项是WEB服务里的地理/逆地理编码。将去哪儿爬取到的景点地址数据通过地理编码转变为对应的经纬度。比如:北京市方恒国际中心A座将它经过地理编码后其经纬度为116.480656,39.989677。它的URL:

https://restapi.amap.com/v3/geocode/geo?address=地址&output=XML&key=<用户的key>&city=城市

其中output是输出个格式,一共有两种,XML和JSON;address是要地理编码的地址,city是所在的城市。

word is cheap,show me the code

for i in range(len(name)):
    x = pandas.DataFrame()
    t={}
    add = name[i]
    chengshi=city[i]
    parameters = { 'address': add, 'key': '9c2084d0d553d8152ad0debe26375a4c','city':chengshi }
   html = requests.get('https://restapi.amap.com/v3/geocode/geo', params=parameters).json()
    try:
        t['jingwei'] = html['geocodes'][0]['location']
    except IndexError:
        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('543.csv', encoding='utf-8', index=False, mode='a', header=False)

全国各级景区分布图

全国各级景区分布六边形热力图

在六边形热力图中可以看到,北京是一个旅游资源及其丰富的城市,如果大家只想去一个城市转一转,可以优先选择北京噢。重庆,广州,天津,苏州等也是不错的选择噢。

全国景区分布热力图

最后来看看笔者的家乡,湖南。如果大家去湖南游玩的话,长沙一定要去!其次张家界,永州,怀化和郴州也值得一去。

~~

--------- End ---------

本文分享自微信公众号 - Python爬虫与数据挖掘(crawler_python)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-11-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 安装好Pycharm后如何配置Python解释器简易教程

    这两天有许多Python小白加入学习群,并且问了许多关于Pycharm基本使用的问题,今天小编就以配置Python解释器的问题给大家简单絮叨一下。

    Python进阶者
  • 安装好Pycharm后如何配置Python解释器简易教程

    这两天有许多Python小白加入学习群,并且问了许多关于Pycharm基本使用的问题,今天小编就以配置Python解释器的问题给大家简单絮叨一下。

    Python进阶者
  • 安装好Pycharm后如何配置Python解释器简易教程

    这两天有许多Python小白加入学习群,并且问了许多关于Pycharm基本使用的问题,今天小编就以配置Python解释器的问题给大家简单絮叨一下。

    Python进阶者
  • 数字文旅如何提升景区运营管理?

    ? 数字文旅赋能 景区提质增效 新冠肺炎疫情发生以来,各地景区根据防控需要分时段有限开放成为常态,于是以直播营销、云旅游等为主的在线旅游体验受到游客的欢迎,“...

    腾讯文旅
  • 全国各大景点,Python实用数据分析哪些地方值得一去!

    中国地广人不稀,旅游资源非常丰富,古文化遗址、抗战遗址、山川、河流等等,在选择目的地的时候,不少人都会非常纠结,不知道去哪更好。为了以后不再纠结,打算深度解析全...

    一墨编程学习
  • 腾讯文旅联合爱点击重磅推出“文旅内容推荐管理系统”

    ? 近日,腾讯文旅联合国内领先的独立在线营销与企业数字化运营解决方案提供商爱点击正式上线“文旅内容推荐管理系统”。 文旅内容推荐管理系统由腾讯文旅与爱点击共同...

    腾讯文旅
  • 长图 | 一图看懂腾讯文旅“抗疫复苏行囊”解决方案

    ? 2月25日,文化和旅游部资源开发司印发《旅游景区恢复开放疫情防控措施指南》,指出:坚持分区分级原则,不搞 “一刀切”。按照外防输入、内防扩散的要求,对旅游...

    腾讯文旅
  • 1000个岗位来袭,工作内容:免费游云南!

    ? ? ? ? ? ? ? 策划&文案:Ricy 视觉:任晓娟、李晓娜 创意:Ricy、小丹、诗雨、李畅 ? 活动详情 ? “我最喜欢的云南旅游景区”评选活动...

    腾讯文旅
  • 长沙将投资5.2亿元 联手腾讯云打造新型智慧城市 | 数字文旅周报19期(7.1-7.7)

    ? 长沙将投资5.2亿元 联手腾讯云打造新型智慧城市 近日,腾讯云以5.2亿元成功中标长沙市城市超级大脑项目。未来,腾讯将运用自身互联网科技优势和强大...

    腾讯文旅
  • 5G+开启数字文旅产业发展新时代

    ? 6月,工业和信息化部正式向四大基础电信运营商发放5G商用牌照。自去年全国范围的5G试点开放,到近日5G商用牌照的发放,5G时代正加速到来。 通信技术的进步...

    腾讯文旅

扫码关注云+社区

领取腾讯云代金券