前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >2021年到了,用python爬取穷游网数据分析看看去哪玩好

2021年到了,用python爬取穷游网数据分析看看去哪玩好

作者头像
Python与Excel之交
发布于 2021-08-05 06:09:26
发布于 2021-08-05 06:09:26
1.4K00
代码可运行
举报
文章被收录于专栏:Python与Excel之交Python与Excel之交
运行总次数:0
代码可运行

Hi~大家好!

2020年顺水而走,2021顺风而来!祝大家新年快乐!2021年牛气冲天!

新年到了,元旦节也到了,不知道大家有没有放3天的小长假呢?有没有准备去哪玩呢?没有想好的没关系,今天,锋小刀以热门旅游城市澳门为例,用Python获取穷游网的相关景点数据,包括景点名称、评分、综合排名、点评人数、评论数据等字段,对数据进行可视化并作简单分析,看看去哪玩好。

获取数据

目标网址:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://place.qyer.com/macau/sight/

穷游网网页没有什么反爬虫措施,数据放在json中,数据爬取较为简单。找到真实url后,构造参数拼接,用request请求json数据,然后把数据保存在csv文件即可。

这里需要注意的是,这条url是用post方式进行请求数据的,所以我们需要用requests.post进行请求。

看到post的请求方式时,我们就要向下滑动鼠标到最后,这些参数一般只要认识一个页数page就可以了,这里需要用字典格式构建requests中的params参数,把相关参数传入url进行数据的请求。

核心代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def data_text(res_html,df):
    json_html = json.loads(res_html)
    for lists in json_html['data']['list']:
        cnname = lists['cnname']    # 景点名称
        grade = lists['grade']  # 景点评分
        rank = lists['rank']    # 景点排名
        comment_Count = lists['commentCount']    # 点评人数
        text = pd.DataFrame({'景点名称': [cnname], '景点评分': [grade], '景点排名': [rank], '点评人数': [comment_Count]})
        df = pd.concat([df, text])
    df.to_csv('澳门景点数据.csv', encoding='utf-8', mode='a+', header=False)

数据可视化分析

导入需要用到的包:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pandas as pd
import jieba
import numpy as np
from matplotlib import pyplot as plt
from wordcloud import WordCloud
from PIL import Image

导入数据并重命名标题行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df = pd.read_csv('澳门景点数据.csv', names=['name', 'grade', 'rank', 'comment_Count'])

预览下数据:

查看评论最多的十个景点:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df_grade = df.pivot_table(index='name', values='comment_Count')
df_grade.sort_values('comment_Count', inplace=True, ascending=False)
data1 = df_grade[:10]

对评论最多的十个景点进行数据可视化,发现澳门大三巴牌坊的评论数最多,其次是百老汇,接着是大炮台。

这里我分别对澳门大三巴牌坊、百老汇、大炮台的评论数据进行爬取并进行词云绘制。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
text = open(r'.\大三巴牌坊.csv', 'r', encoding="utf-8").read()
cut_text = jieba.cut(text)
result = ' '.join(cut_text)
img=Image.open(r'.\图1.jpg')
img_array = np.array(img)
wc = WordCloud(mask=img_array, font_path=r'.\simhei.ttf', background_color='white')
wc.generate(result)
wc.to_file(r'.\大三巴牌坊.jpg')
plt.imshow(wc)
plt.axis("off")
plt.show()

通过对澳门大三巴牌坊景点评论数据进行词云图绘制,我们可以看出澳门大三巴的特点。澳门大三巴牌坊、历史、教堂、建筑等词被大量提及,标志性、地标等词也有一定提及,可以看出大三巴牌坊是澳门具有历史性的标志性建筑。

在词云中我们可以看到历史、澳门、炮台、博物馆、大三巴牌坊等词被大量提及。在近代,荷兰人企图入侵时,这座炮台为当时澳门防御系统的核心。去完大三巴牌坊接着可以去下大炮台,大三巴牌坊就在大炮台山脚下。在大炮台内有澳门博物馆,去大炮台接着还可以去博物馆看一下的。

在词云中我们可以看到百老汇、表演、剧场、演出、音乐剧等词被提及。可以看出这里的歌舞剧、音乐剧演出很多,可以去看下陶冶情操。

查看评分最高的十五个景点,其中十分为满分:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df_qunarPrice = df.pivot_table(index='name', values='grade')
df_qunarPrice.sort_values('grade', inplace=True, ascending=False)
data1 = df_qunarPrice[:15]

我们惊奇的发现,评分为满分的有十一个景点。

对其相应的点评人数进行查看才知道,是一些景点的点评人数相对较少。从下图可以看出,大三巴牌坊和葡挞的点评人数较多,分别为496与159,而且评分都为满分。但其它的景点的点评人数就少了,所以我们不能只看评分,还是要看下评论的,毕竟群众的眼睛是雪亮的。

小结

通过上面简单的分析,我们可以得出以下结论:

(1)澳门的人文历史气息浓厚,古老的建筑有很多;

(2)澳门大三巴牌坊、大炮台、澳门博物馆等景点距离不远,可以串游;

(3)百老汇的歌舞剧、音乐剧演出很多,可以去下陶冶情操;

(4)澳门不只是有赌场,还是有很多需要人去发觉的正能量气息。

THE END

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与Excel之交 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
让你的浏览器开口说话
之前自己做的一个点名系统,可以支持语音播报,内部是调用了百度的在线体验语音接口API的,但是现在百度接口改了,没有免费体验,要使用就只能注册申请,嫌麻烦,刚好也知道H5有播放语音的API。所以干脆就拿过来研究一下。
万少
2025/02/10
960
让你的浏览器开口说话
js 语音播报
<el-button  @ click = " speak " > 播放 </el-button>
tianyawhl
2022/05/06
2.9K0
使用高德API和MapboxGL实现路径规划并语音播报
本文使用高德API实现位置查询和路径规划,使用MapboxGL完成地图交互与界面展示,并使用Web Speech API实现行驶中路线的实时语音播报。
牛老师讲GIS
2024/11/11
1630
使用高德API和MapboxGL实现路径规划并语音播报
Web Speech API 之 Speech Synthesis
Speech synthesis(语音合成,也被称作是文本转为语音,英语简写是 TTS)包括接收 app 中需要语音合成的文本,再在设备扬声器或音频输出连接中播放出来这两个过程。
AlphaHinex
2024/07/04
4200
Web Speech API 之 Speech Synthesis
B4A TTS使用小米"小爱同学语音引擎"进行文字转语音
TTS是Text To Speech的缩写,即“从文本到语音”,是人机对话的一部分,让机器能够说话。
办公魔盒
2021/06/25
12.9K0
B4A TTS使用小米"小爱同学语音引擎"进行文字转语音
文字转语音——这招你学到了吗
我喜欢上了看小说,不知道为什么,这是一个谜,(因为我是谜一样的男人,哈哈),看着看着感觉眼皮在打架,突然我想,要是有一个人可以阅读就好了(这里我们明显感觉小编与世界脱轨),那不如写一个自动阅读的软件好了,然后就有了语音阅读神器。
大家一起学编程
2021/03/29
2.6K0
C# Web应用调用EXE文件的一些实践
最近同事使用Python开发了一款智能文字转语音的程序,经讨论部署在WINDOWS环境服务器下,因此需要生成目标为可执行程序文件,即EXE文件。需要在WEB应用程序里进行调用,并传递相关参数。
初九之潜龙勿用
2024/06/20
1520
C# Web应用调用EXE文件的一些实践
Android开发笔记(一百零八)智能语音
如今越来越多的app用到了语音播报功能,例如地图导航、天气预报、文字阅读、口语训练等等。语音技术主要分两块,一块是语音转文字,即语音识别;另一块是文字转语音,即语音合成。 对中文来说,和语音播报相关的一个技术是汉字转拼音,想想看,拼音本身就是音节拼读的标记,每个音节对应一段音频,那么一句的拼音便能用一连串的音频流合成而来。汉字转拼音的说明参见《Android开发笔记(八十三)多语言支持》。 语音合成通常也简称为TTS,即TextToSpeech(从文本到语言)。语音合成技术把文字智能地转化为自然语音流,当然为了避免机械合成的呆板和停顿感,语音引擎还得对语音流进行平滑处理,确保输出的语音音律流畅、感觉自然。
aqi00
2019/01/18
5.7K1
百度AI接口开发文字转语音功能
今天做了一个功能,开始一个文字转语音的功能,主要应用于网站文章阅读。使用了百度AI的语音合成接口。下面详细的来说一下;
申霖
2020/04/01
1.3K0
百度AI接口开发文字转语音功能
打造个人听书神器:使用pyttsx3实现文字转语音
在这个信息爆炸的时代,我们每天都在处理海量的文字信息。然而,当眼睛疲惫时,我们是否能够通过其他方式来享受阅读的乐趣呢?答案是肯定的。今天,我将带大家了解如何使用Python中的pyttsx3库,将文字转化为语音,打造一个属于自己的听书神器。随着智能语音助手的普及,文字转语音技术已经成为提升阅读体验的重要工具之一。
LucianaiB
2025/01/12
1650
打造个人听书神器:使用pyttsx3实现文字转语音
H5 语音合成播报功能
采用的 SpeechSynthesisUtterance实现语音播报功能,参考资料: ONE、TWO
White feathe
2021/12/08
1.9K0
H5 语音合成播报功能
AVFoundation 文本转语音和音频录制 播放
现在你应该对AVFoundation有了比较深入的了解,并且对数字媒体的细节也有了一定认识,下面介绍一下 AVFoundation的文本转语音功能
iOSSir
2019/06/14
2.4K0
基于 ChatGPT API 的划词翻译浏览器脚本实现
最近 GitHub 上有个基于 ChatGPT API 的浏览器脚本,openai-translator, 短时间内 star 冲到了 9.7k, 功能上除了支持翻译外,还支持润色和总结功能,除了浏览器插件外,还使用了 tauri 打包了一个桌面客户端,那抛开 tauri 是使用 rust 部分,那浏览器部分实现还是比较简单的,今天我们就来手动实现一下。
狂奔滴小马
2023/04/07
1.7K0
基于 ChatGPT API 的划词翻译浏览器脚本实现
Java 语言 jacob 实现文本转语音
https://sourceforge.net/projects/jacob-project/
默存
2023/09/13
8360
Java 语言 jacob 实现文本转语音
使用 Web Speech API 和 ChatGPT API 开发一个智能语音机器人
随着 AI 的不断发展,我们前端工程师也可以开发出一个智能语音机器人,下面是我开发的一个简单示例,大家可以访问这个视频地址查看效果。
狂奔滴小马
2023/04/27
1.7K0
使用 Web Speech API 和 ChatGPT API 开发一个智能语音机器人
我开发了一个【免费】使用微软的文字转语音服务的js库
尝试过各种TTS的方案,一番体验下来,发现微软才是这个领域的王者,其Azure文本转语音服务的转换出的语音效果最为自然,但Azure是付费服务,注册操作付费都太麻烦了。但在其官网上竟然提供了一个完全体的演示功能,能够完完整整的体验所有角色语音,说话风格...
大帅老猿
2022/06/06
2.5K0
我开发了一个【免费】使用微软的文字转语音服务的js库
教你让b站视频的弹幕发出语音!
侦查弹幕非常简单,我常介绍的:用元素选择器,选中窗口,一看这个类名,然后看这里面这一个个标签,就知道和弹幕有关。
coder_koala
2020/12/07
1.5K0
教你让b站视频的弹幕发出语音!
C# 使用 SpeechSynthesizer 类将文本转换为语音
SpeechSynthesizer​ 是 .NET Framework 和 .NET Core/5+ 中用于文本到语音(Text-to-Speech, TTS)转换的类。它属于 System.Speech.Synthesis​ 命名空间,主要用于将文本转换为语音并播放或保存为音频文件。
Power
2025/04/01
1590
HTML人工合成声音
问答系统中可以使用的人工合成声音。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <div class="voiceinator"> <select name="voice" id="voices"> <option value="">Select A Voice</option> </select> <lab
luxuantao
2021/02/24
8110
学习|Android使用TTS语音合成
所谓活到老,学到老,本篇开始我写的Android代码尽量都转为Android指定的官方语言Kotlin,一是技多不压身,二是Kotlin的语法与我接触的第一门开发语言Delphi有点像,学起来也不太难,所以直接在代码中开始使用才能掌握的更快。
Vaccae
2019/12/11
4.3K0
推荐阅读
相关推荐
让你的浏览器开口说话
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档