1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 国家AAAAA级旅游景区数量统计

国家AAAAA级旅游景区数量统计

时间:2019-07-19 19:19:17

相关推荐

国家AAAAA级旅游景区数量统计

国家AAAAA级旅游景区数量统计

研究背景

作者热爱旅游,经常喜欢关注一些旅游方面的信息。近日发现百度百科中国家AAAAA级旅游景区词条中有这样一句话截止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/1201 Firefox/3.5.6'}#名单共有15页,网址中page=后面的数字就是页码page_num=range(1,16)for i in page_num:url='http://www./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.codeprint e.reasonpage=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=0fnm=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=0else:text=text+','n=n+1fnm.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=pile(nmstr)warning=scenic_area['name'].map(regex.findall)warning[warning.map(len)>0]

百度词条显示10月13日,国家旅游局规划财务司网上公示新一批国家级5A级景区,共有9家景区入选,网上公示时间10月13日至10月19日。

查询了一下爬取的数据中年份为的景区名称,果然少了这9个景区,看来国家旅游局网站只更新到8月4日,百度百科词条已经维护到10月13日公布的名单,百度的班不是白加的。

另外三家被严重警告的景区分别为

数据地图

参考用Excel做出强大漂亮的数据地图的方法,用excel绘制了数据地图,用颜色标识各省、市、自治区的5A景区数量情况,从绿色到红色数量一次增多。作者对渐变色了解的极少,所以颜色是用色阶自动生成的,生成好色阶后,先拷贝到word中,再拷回excel中,刚刚生成的色阶就成了单元格的填充色。作者尝试修改宏代码来实现用条件格式生成的色阶实现地图填充,搞了半天都没成功,请大神们不吝赐教。

江苏省在新增了2个5A级景区后,5A级景区数量达到了22个,遥遥领先第二位浙江省。在直辖市中,重庆和北京排名第一,都有7个5A级景区。

第一次作业到此结束,坚持不懈,勤能补拙

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。