来源:可以叫我才哥作者:才哥
马上就要五一了,这两天五一的火车票也正式开抢了,不知道各位小伙伴有没有被秒光的车票吓到呢!?
然鹅,作为想去海南三亚旅行的才哥,简直是被这过万的单程机票给惊呆了啊!!
北京-三亚(五一票价)看着只剩下过万价格的公务舱,想着今年这个去三亚的玩家也忒多了吧,那么三亚为啥如此具有吸海角披风少年 妈妈本人引力呢?
怀着对三亚的好奇,我们今天用python爬取某程网三亚景区数据,就看看这个有着东方夏威夷的旅游城市都有什么好玩的吧!
01
关于三亚
沙滩、海鲜、潜水是三亚度假的三大永恒主题。地处中国海南岛最南端的三亚,四季如夏,鲜花盛开,素有“东方夏威夷”之称,在三亚约两百公里的海岸线上,密布了亚龙湾、大东海、海角披风少年 妈妈本人三亚湾等众多海湾,椰树成林;海上的有东、西两岛为碧波万顷的海面增加层次,互掩其中。蜈支洲岛享有“中国第一潜水基地”美誉,有中国保护最完好的生态珊瑚礁。
三亚02
景点数据爬取
本次我们从某程网爬取三亚的景点数据,使用requests+bs4+re+pandas进行数据请求、数据解析和预处理。
2.1
爬取字段海角披风少年 妈妈本人
景区名称
排名
地址
星级
价格
评分
评价数
推荐评价内容
爬取字段2.2
网页分析
我们打开网站https://you.ctrip.com/sightlist/sanya61/s0-p2.html,进行翻页,发现变化的是p2部分的数字,其正好对应页码。然后,查看最下方总页码数,一共22页,构建全部url地址如下:f海角披风少年 妈妈本人or i in range(1,22):
url = fhttps://you.ctrip.com/sightlist/sanya61/s0-p{i}.html网页地址2.3
数据请求
我们直接使用requests.get(url)进行数据请求,发现返回码是404:In [1]: requests.get(url海角披风少年 妈妈本人)
Out[1]: <Response [404]>
经过简单的尝试,发现只要带上模拟浏览器请求头即可:In [2]: importrequests
…:
…: headers = {
…: “Accept-Encoding”: “Gzip”, # 使用gzip压缩传输数据让访问更快 …: “User-A海角披风少年 妈妈本人gent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36”,
…: }
…:
…: url = fhttps:海角披风少年 妈妈本人//you.ctrip.com/sightlist/sanya61/s0-p1.html…: resp = requests.get(url,headers=headers)
In [3]: resp.status_code
Out[3]: 200In [4]: resp.text[:200] # 预览海角披风少年 妈妈本人部分数据Out[4]: \n<!DOCTYPE html>\n<html>\n <head>\n <meta name=”viewport” content=”widt2.4
数据解析
本例我们采用bs4为主要解析工具,辅助re正则表达式处理。引入需要的库:importrequests海角披风少年 妈妈本人
from bs4 importBeautifulSoup
importre
import pandas as pd查找景点数据所在节点:先看需要的数据字段所在网页的节点位置,然后一一进行解析。我们发现每页全部景点所在都在一个节点下面,且每个景点都很整齐都在节点div(属性满足class=”list_mod2″)中海角披风少年 妈妈本人。html_doc = resp.text
soup = BeautifulSoup(html_doc, html.parser)
divs = soup.find_all(div,class_=“list_mod2”)每页全部景点所在节点单独解析每个景点的数据:由于待爬取字段并非每个景点都存在,所以需要海角披风少年 妈妈本人对可能不存在的字段在解析时候进行缺省异常的处理。部分字段信息演示:景区名称评价数景区名称 = div.dl.dt.a.text # 直接使用标签名获取节点名称或属性try:
排名 = re.findall(\d+,div.dl.dt.s.text)[0] # 获取排名数字except:
排名 =
地址 = r海角披风少年 妈妈本人e.sub(\s,,div.find(dd,class_=“ellipsis”).text) # 去掉非字符内容try:
星级 = re.search(r([a-zA-Z]+),div.find_all(dd)[1].text).group()
except:
星级 =
try:
价格 = re.findall海角披风少年 妈妈本人(r(\d+),div.find(span,class_=“price”).text)[0]# 获取价格数字except:
价格 =
try:
评分 = div.ul.li.a.strong.text
except:
评分 =
try:
评价数 = re.search(r(\d+),div.find(a,rel海角披风少年 妈妈本人=“nofollow”).text).group() # 获取评价数数字except:
评价数 = 02.5
数据转DataFrame类型
为了便于后续进行数据处理,这里将采集的数据全部转为DataFrame类型。df = pd.DataFrame(columns=[景区名称, 排名, 地址, 星级, 价格, 评分, 评海角披风少年 妈妈本人价数])
item = {
景区名称:景区名称,
排名:排名,
地址:地址,
星级:星级,
价格:价格,
评分:评分,
评价数:评价数,
}
df = df.append(item,ignore_index=True)数据预览03
三亚景点
在某程网我们一共爬取到315个景点,其中11个有星级的景区,在这11个星级景区中3海角披风少年 妈妈本人个5A和8个4A。3.1
.15A景区盘点
我们先看看5A景区都有哪些吧。>>蜈支洲岛蜈支洲岛的风景很好,岛上一派热带风光。这里海水能见度高,水下世界绚丽多彩,是我国热门的潜水胜地。同时,还是进行摩托艇、香蕉船、水上降落伞等水上活动的好地方。岛上的景点极具浪漫风情,有情人桥、观浪亭、观海长廊、“HAPP海角披风少年 妈妈本人Y LOVE”标志等。除了美丽的风光,蜈支洲岛还有极具特色的别墅、木屋以及酒吧、海鲜餐厅等配套设施。蜈支洲岛珊瑚酒店及蜈支洲岛度假中心可提供住宿,但房间都比较抢手,需要提前预定。如果住在岛上的话一定记得去观日岩看日出,那里是观日出的绝佳之地。蜈支洲岛
>>南山文化旅游区南山文化旅游区是我国有名的宗教与海角披风少年 妈妈本人福寿文化景区,在这里既能欣赏山海自然美景,还可拜访众多佛教名胜、参观举世闻名的“南山海上观音”,获得佛教文化带来的心灵荡涤,体味回归自然本真的乐趣。不二法门-南山寺-三十三观音堂-南山海上观音南山海上观音>>大小洞天三亚大小洞天位于三亚市西部的南山山麓,这里融汇了秀丽的海景、山景和石景,可以看到“小海角披风少年 妈妈本人洞天”、“海山奇观”、“仙人足”等摩崖石刻,还分布着许多株“不老松”,是国内独一无二的“寿比南山不老松”景观区。来这里可选择乘坐电瓶车轻松游览景区。途中“老子望海”、“鉴真沐海”等天然奇石形象逼真,南山不老松、南海龙王别院等景点更是承载了浓厚的传统民俗文化底蕴。南海福门3.2
最受欢迎的景点
我们以评价海角披风少年 妈妈本人数多少评判景区受欢迎程度,发现蜈支洲岛也太火爆了点,高达3.18万评价数,当之无愧5A级景区最受欢迎的景点。此外,亚龙湾热带天堂森林公园和天涯海角也超级受欢迎!最受欢迎的景点>>亚龙湾热带天堂森林公园:亚龙湾热带天堂森林公园景区位于亚龙湾国家旅游度假区内,电影《非诚勿扰II》、电视剧《亲爱的,热爱的海角披风少年 妈妈本人》在海南三亚的主要取景地,游客来三亚的必游地之一。园区定位于国际一流的滨海生态观光兼生态度假型森林公园,被专家美誉为第三代森林旅游产品的典范之作。园区内树木葱茏,能看那藤萝密布、溪水潺潺,可遇到那百年古藤、参天巨榕,能听闻虫唱鸟鸣,极尽野趣。景区内随处都可见《非诚勿扰II》、《亲爱的,热爱的》中的场海角披风少年 妈妈本人景,舒淇、葛优、杨紫、李现走过素有情人桥之称的“过江龙索桥”,悬崖边的“峭壁天池”、见证浪漫爱情的《非诚勿扰II》里的试婚房、网红玻璃栈桥等,都是情侣们不可错过的打卡地。漫步天街,享受北纬18°天街慢生活,行走在全海景玻璃栈桥上将亚龙湾的美景尽收眼底,面朝大海,背靠青山,四季花开。亚龙湾>>天涯海角海角披风少年 妈妈本人:天涯海角位于三亚湾西端,是一片宁静美丽的海滩。海滩上耸立着许多形态各异的岩石,其中有名的是刻有“天涯”和“海角”两块巨石,它们一直被视为爱情的象征,也是三亚标志性的景观之一。清雍正年间,当地官员程哲于命人在此镌刻了“天涯”二字,后又有文人在另一块巨石上题刻“海角”二字,从此就有了天涯海角这个景点。海角披风少年 妈妈本人从古至今,关于“天涯海角”有太多的诗词和故事,这里使人们心中的“天涯情结”找到了物化的载体,寓意再遥远的地方我都会陪伴着你,到天涯、到海角。景区除了“天涯石”和“海角石”,其他有名的石刻还有“南天一柱”和“日月石”,“南天一柱”象征财富,日月石象征着爱情。此外,景区的名人雕塑园、情侣树等特色景点也值海角披风少年 妈妈本人得一看。天涯海角-南天一柱3.3
综合评价最高的景点(评分+评价数)
我们以评价数归5化,和评分进行相加得到满分为10分的综合评价值。df[综合评价] = 5* (df.评价数 / df.评价数.max()) + df.评分
df.sort_values(综合评价,ascending=False).hea海角披风少年 妈妈本人d(10)
综合评价最高好吧,感觉还是这几个!!!这里,我们看看两个非星级景区都是什么样吧!>>三亚千古情:三亚千古情景区掩映在茂密的森林和鲜花丛中,有大型歌舞《三亚千古情》 、图腾大道、入口广场、爱情街、绣楼广场、崖州古街、千古情亲子乐园、清明上河图电影馆、戏水区、千古情广场、鬼域惊魂等数十个主题区海角披风少年 妈妈本人。三亚千古情>>三亚亚特兰蒂斯失落的空间水族馆:失落的空间水族馆,在这里,30个大小各异的互动展示池汇聚着数万尾海洋精灵,带你发掘壮丽的海中奇景。除了与它们近距离接触,你还可以在大使环礁湖乘坐底部透明的“水晶船”喂食它们;或潜入水中与鲨鱼、鳐鱼伙伴们深情共舞。同时也非常欢迎各位来到白鲸池与白鲸安迪与海角披风少年 妈妈本人蒂娜嬉戏,一同度过这段难忘时光。据说,这家酒店是海南最好酒店:亚特兰蒂斯酒店。一般来说,入住会附赠其娱乐项目!三亚·亚特兰蒂斯坐落在风光旖旎的海棠湾,以消失的亚特兰蒂斯大陆之谜为蓝本匠心打造的海洋文化主题旅游度假目的地,融汇失落的空间水族馆、惊险刺激的水上冒险乐园、精品购物大道、C秀剧场及度假酒店于海角披风少年 妈妈本人一身,充满神话色彩和无限精彩,成为亲子探秘之旅和休闲度假的明星打卡胜地。三亚亚特兰蒂斯酒店04
游客游记抓取与词云
我这边选择的是行程天数3-5天、出发时间3-5月的全部游记共131页 1308篇。4.1
游记数据爬虫
爬虫也比较简单,先从遍历全部页码获取游记列表,再解析到每篇游记详情页url,最后在详情页海角披风少年 妈妈本人解析游戏内容即可。游记列表代码如下:解析每篇游记详情页url
urls = []
for i in range(1,132):
url = fhttps://you.ctrip.com/travels/sanya61/t2-p{i}-d2-m1.htmlresp = requests.get(url,header海角披风少年 妈妈本人s=headers)
html_doc = resp.text
soup = BeautifulSoup(html_doc, html.parser)
a_s = soup.find_all(a,class_=“journal-item cf”)
for a ina_s:
urls.append(https://y海角披风少年 妈妈本人ou.ctrip.com + a[href])
print(f{i}页数据已采集..)
获取游记文本数据详情
contents = []
for url inurls:
if sanya61 inurl:
resp = requests.get(url,headers=headers)
html_doc = resp.te海角披风少年 妈妈本人xt
soup = BeautifulSoup(html_doc, html.parser)
content = re.sub(\s+,\n,soup.find(div,class_=“ctd_content”).text)
contents.append(content)
print(f{len(conte海角披风少年 妈妈本人nts)}个有效游记已记录..)
游记预览4.2
游记关键字词云
在我们采集的1300余篇三亚的旅行游记中,词频最高的除了三亚之外,三亚的酒店似乎也备受大家关注,此外就是各大主要的景区聚集地(蜈支洲岛、三亚湾、亚龙湾、大东海等等),接着就是经典的景点(天涯海角、第一市场、西岛等等)。关于体验上,大家提到最海角披风少年 妈妈本人多的必须是三亚的沙滩、吃的海鲜等等),整体反馈都是不错和喜欢!!扫码加入社区