知行编程网知行编程网  2022-03-28 07:00 知行编程网 隐藏边栏 |   抢沙发  2 
文章评分 0 次,平均分 0.0

又到了春暖花开的季节,想必大家都想出去游玩一番,不过想想去哪里玩还真是一个问题,上了携程看了一下,景点很多,挨个找估计又要找好久,所以今天做了一个爬虫专门帮助大家寻找一个合适的旅游场所。

  • 主要使用requests+beautifulsoup作为爬取工具,

  • 使用pandas做简单的数据存储与清理

  • 最后使用了pyecharts进行可视化分析。



01


页面初步分析


我们爬取的网页是携程经过简单的分析可以看出,只要再china110000末位简单的加入 p+页码 就可以抵达指定的网页,所以只要写一个简单的函数就可以获取我们想要爬取的页码。

菜鸟设计了一份爬虫出游计划


用yield会看起来更牛逼一点!

菜鸟设计了一份爬虫出游计划


02


获取详情页面网址


我们最后想要抵达相应景点的详情页面,所以首先要从目录页的推荐景点中获取相应的url,经过简单的css选择式可以得到相应的url,由于页面给出的是相对url,所以在这里加上了原来的网址。

菜鸟设计了一份爬虫出游计划


03


爬取相关数据


现在我们有了每一个景点的详情页面,我们确定需要抓取的数据是:

  • 景点的名称

  • 游客的点评总次数、

  • 点评的好评、

  • 差评等次数

  • 总评分、景色、

  • 趣味、性价比

  • 评分不同类型(例如情侣出游、亲子出游)的次数。

这些使用css表达式写起来还是比较容易的。我们每爬虫一个页面的数据后,用一个列表将其存储起来,保存到我们的dataframe中,爬完所有数据后将其返回,就可以得到我们需要利用的数据啦!这里我爬取了10页的数据,大概有500个景点,大家可以根据自己的需要进行爬取。

菜鸟设计了一份爬虫出游计划


04


数据分析可视化


爬取完所有数据后,由于数据本身比较规范,所以我们基本上不需要做什么数据的处理工作,只需要筛选出评分人数大于1000的景点,这样更加具有可信度,然后我们挑选出最热门的20个旅游景点作为我们的主要分析对象,使用pyecharts进行分析。


1).首先看一下Top20的热门景点,可以看出迪士尼、故宫、东方明珠是最受欢迎的景点,兵马俑、鼓浪屿、海洋公园等也在内。


菜鸟设计了一份爬虫出游计划



2).看一下好评率

再看一下好评率,我们使用的好评率计算是评价为很好与好的人数占比,看起来故宫、香港的迪士尼、动物世界、外滩人们给出的评分还是很高的,但是鼓浪屿和世界之窗明显略低于其它景点。

菜鸟设计了一份爬虫出游计划


3).评价人数

分析一下这些景点给出不同评价的人数占比,很明显基本上非常好与好占据了绝大部分。

菜鸟设计了一份爬虫出游计划



4).评分

接下来我们看一下评分,仍然是故宫、香港的迪士尼明显高于其它景点,鼓浪屿和世界之窗明显低于其它景点。剩下更加详细性价比、景色这些评分就留给大家自己研究了。

菜鸟设计了一份爬虫出游计划


5).情侣喜欢去哪里

最后就到我们最关注的地方了,想必大家早已经想好要和谁一起出去玩了,我们先看一下,情侣一般更加喜欢去那些地方。鼓浪屿、西湖和东方明珠是情侣最喜欢去的地方,故宫看起来表现的不错,各个方面的评价都属于评先的水准。

菜鸟设计了一份爬虫出游计划


6).亲子游

家庭亲子方面是迪士尼夺冠,毕竟小孩子都喜欢去游乐园,故宫排名第二,鼓浪屿、东方明珠紧跟其后,鼓浪屿虽然评分并不领先,但是还是比较受欢迎的。

菜鸟设计了一份爬虫出游计划



7).朋友游

朋友出游方面基本上已经被中华恐龙园和瘦西湖承包,看起来约朋友这两个地方是必选之地。

菜鸟设计了一份爬虫出游计划



8).商务旅行

商务旅行方面不出意外是外滩夺冠,其次是东方明珠。


总结一下,故宫看起来是各方面都表现比较突出的景点之一。有小孩子的迪士尼基本上是必选之地,东方明珠更偏向商务,情侣更加喜欢鼓浪屿、西湖这些风景好、比较浪漫的地方。

看完之后,你想有没有想好最近的假期决定去哪里呢?欢迎留言吱一声。

本篇文章来源于: 菜鸟学Python

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享