国家AAAAA级旅游景区数量统计
来源:互联网 发布:新网络三剑客 编辑:程序博客网 时间:2024/04/27 18:52
国家AAAAA级旅游景区数量统计
研究背景
作者热爱旅游,经常喜欢关注一些旅游方面的信息。近日发现百度百科中国家AAAAA级旅游景区词条中有这样一句话截止2016年10月,国家旅游局共确定了227家国家5A级旅游风景区。
BUT,作者登陆了国家旅游局官方网站,手动数了一下AAAAA级旅游景区的数量只有218个,即便是加上摘牌的3家两个数也是对不上的。
想想自学python已经有一段时间了,那就让我来把这个问题捋捋清楚吧!
简单的爬虫
首先,从国家旅游局网站上爬取AAAAA级旅游景区名单,代码很简单,参考了很多网上的资料,爬取的数据保存到nm.txt中。
import urllib2from bs4 import BeautifulSoupheaders={'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'}#名单共有15页,网址中page=后面的数字就是页码page_num=range(1,16)for i in page_num: url='http://www.cnta.gov.cn/was5/web/search?page='+str(i)+'&channelid=242887' req=urllib2.Request(url,headers=headers) try: post=urllib2.urlopen(req) except urllib2.HTTPError,e: print e.code print e.reason page=BeautifulSoup(post.read()) #观察网页的源码发现main_right_m1后面为景区名称,main_right_m2后面为景区的所属地区和级别,main_right_m3为评定的年份 item_list=page.find_all('div',{'class':['main1_right_m1','main1_right_m2','main1_right_m3']}) n=0 fnm=open('nm.txt','a') for item in item_list: text=item.get_text() text=text.encode('utf-8') if n==3: text=text+'\n' n=0 else: text=text+',' n=n+1 fnm.write(str(text)) fnm.close()
名单比较
由于国家旅游局网站上给出的名单很规整,所以这里只做简单的整理,代码如下:
# -*- conding:utf-8 -*-import pandas as pdimport renames=['name','location','Arank','year']dict_province={'江苏':'Jiangsu','浙江':'Zhejiang','河南':'Henan','河北':'Hebei','广东':'Guangdong','广西':'Guangxi','山东':'Shandong','山西':'Shanxi','陕西':'Shan3xi','宁夏':'Ningxia','内蒙古':'Neimenggu','辽宁':'Liaoning','吉林':'Jilin','黑龙江':'Heilongjiang','北京':'Beijing','上海':'Shanghai','天津':'Tianjin','重庆':'Chongqing','江西':'Jiangxi','安徽':'Anhui','贵州':'Guizhou','云南':'Yunnan','四川':'Sichuan','西藏':'Tibet','新疆':'Xinjiang','甘肃':'Gansu','青海':'Qinghai','福建':'Fujian','湖南':'Hunan','湖北':'Hubei','海南':'Hainan'}dict_district={'northeast':['Heilongjiang','Jilin','Liaoning'], 'northchina':['Beijing','Tianjin','Hebei','Shanxi','Neimenggu'], 'centralchina':['Henan','Hubei','Hunan'], 'eastchina':['Shandong','Jiangsu','Anhui','Shanghai','Zhejiang','Jiangxi','Fujian','Taiwan'], 'southchina':['Guangdong','Guangxi','Hainan','Hongkong','Macao'], 'northwest':['Shan3xi','Gansu','Ningxia','Qinghai','Xinjiang'], 'southwest':['Sichuan','Guizhou','Yunnan','Chongqing','Tibet']}scenic_area=pd.read_csv('nm.txt',names=names)#将所在地区改用拼音表示scenic_area['location'].replace(dict_province,inplace=True)#增加一列,代表所属的地区dict_district={v:k for k,v in dict_district.items() for v in dict_district[k]}scenic_area['district']=scenic_area['location'].map(dict_district)#利用正则表达式找出被严重警告的景区nmstr=r'【严重警告】.*'regex=re.compile(nmstr)warning=scenic_area['name'].map(regex.findall)warning[warning.map(len)>0]
百度词条显示2016年10月13日,国家旅游局规划财务司网上公示新一批国家级5A级景区,共有9家景区入选,网上公示时间2016年10月13日至2016年10月19日。
查询了一下爬取的数据中年份为2016的景区名称,果然少了这9个景区,看来国家旅游局网站只更新到2016年8月4日,百度百科词条已经维护到2016年10月13日公布的名单,百度的班不是白加的。
另外三家被严重警告的景区分别为
数据地图
参考用Excel做出强大漂亮的数据地图的方法,用excel绘制了数据地图,用颜色标识各省、市、自治区的5A景区数量情况,从绿色到红色数量一次增多。作者对渐变色了解的极少,所以颜色是用色阶自动生成的,生成好色阶后,先拷贝到word中,再拷回excel中,刚刚生成的色阶就成了单元格的填充色。作者尝试修改宏代码来实现用条件格式生成的色阶实现地图填充,搞了半天都没成功,请大神们不吝赐教。
江苏省在2016年新增了2个5A级景区后,5A级景区数量达到了22个,遥遥领先第二位浙江省。在直辖市中,重庆和北京排名第一,都有7个5A级景区。
第一次作业到此结束,坚持不懈,勤能补拙
- 国家AAAAA级旅游景区数量统计
- 旅游景区门逃票大全
- 旅游景区智能导游系统
- 数据结构课程设计_《旅游景区信息管理系统》
- 旅游(国家集训队)
- 中国最美旅游景区评选入围复审景区名单公布
- 黄山“景区旅游电子商务网”初步运营稳定了
- 中国最全的旅游景区Flash杂志
- 高清智能安防系统旅游景区解决方案分析
- 国内旅游 一些价格昂贵值得一游的旅游景区
- 轻钢别墅与旅游景区的完美结合
- aaaaa
- aaaaa
- AAAAA
- aaaaa
- aaaaa
- aaaaa
- aaaaa
- 2016/12/16开启我的第一篇博客
- 2017 年你应该学习的编程语言、框架和工具
- 放下的忧伤还要再将它捡起来吗?
- MySql中文查询乱码,问号问题
- dalvik执行流程
- 国家AAAAA级旅游景区数量统计
- mvc 和mvp mvvm
- 网络编程(38)—— 利用互斥mutex控制多线程对临界区的访问
- 如何下载和安装pywin32(亲测有效)
- 面向对象基础
- eclipse中的Jni开发流程(一)——基本开发
- Learning To Rank之LambdaMART的前世今生
- Win7下配置MySql定时自动备份
- yii框架文件上传