基于搜索指数可视化分析近十年的中秋热度

简介: 基于搜索指数可视化分析近十年的中秋热度

一 、前言


一年一度的中秋节马上就要来了,中秋节时,月亮圆满,象征着团圆。可惜像我们在外漂泊打拼的人们很少有机会在中秋节回家团圆。也在这个时刻更能体会“独在异乡为异客,每逢佳节倍思亲”这句诗。

但我们还是可以给家人送上一些问候和祝福来弥补。在这里也提前祝大家中秋快乐,愿你过的每一天都象十五的月亮一样成功圆满!

下面是我通过百度历年的“中秋”关键词搜索数据并结合antd-echarts绘制柱状图来可视化的呈现数据,并做了一些简单的分析。具体过程如下。


3caf94a4b3cf4fe89ac383cfcb5405d9.png

可以查看通过百度搜索“中秋”关键字的一个历年热度情况,然后通过python代码来爬取2011-2022年的数据,源码如下:


import requests
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36",
    "Host": "index.baidu.com",
    "Referer": "http://index.baidu.com/v2/main/index.html",
    "Cipher-Text": "1652425237825_1652501356206_VBpwl9UG8Dvs2fAi91KToRTSAP7sDsQU5phHL97raPDFJdYz3fHf9hBAQrGGCs+qJoP7yb44Uvf91F7vqJLVL0tKnIWE+W3jXAI30xx340rhcwUDQZ162FPAe0a1jsCluJRmMLZtiIplubGMW/QoE/0Pw+2caH39Ok8IsudE4wGLBUdYg1/bKl4MGwLrJZ7H6wbhR0vT5X0OdCX4bMJE7vcwRCSGquRjam03pWDGZ51X15fOlO0qMZ2kqa3BmxwNlfEZ81l3L9nZdrc3/Tl4+mNpaLM7vA5WNEQhTBoDVZs6GBRcJc/FSjd6e4aFGAiCp1Y8MD66chTiykjIN51s7gbJ44JfVS0NjBnsvuF55bs=",
    "Cookie": '通过F12获取你自己的cookie'
}
res_data = []
for i in range(11, 23):
    url = f'https://index.baidu.com/api/SearchApi/index?area=0&word=[[%7B%22name%22:%22%E4%B8%AD%E7%A7%8B%22,%22wordType%22:1%7D]]&startDate=20{i}-01-01&endDate=20{i}-12-31'
    r = requests.get(url, headers=headers).json()
    data = r['data']['generalRatio'][0]
    all_index, pc_index, mb_index = data['all']['avg'], data['pc']['avg'], data['wise']['avg']
    year = '20' + str(i)
    res_data.append({'name': 'PC', '年份': year, '平均值': pc_index})
    res_data.append({'name': '全部', '年份': year, '平均值': all_index})
    res_data.append({'name': '移动端', '年份': year, '平均值': mb_index})
print(res_data)


使用上面的源码需要安装requests库:pip install requests,然后header中的cookie要使用自己的,可以在浏览器页按下F12中进行获取:

fb08a2d259784a1f9e3e7bb19fb3f277.png


执行脚本后输出的结果如下:


[{'name': 'PC', '年份': '2011', '平均值': 1415}, {'name': '全部', '年份': '2011', '平


输出结果的格式是一个列表,为什么要这样输出是因为antd-echarts中柱状图要求这样的格式,我们这样输出后前端不需要再做任何处理,直接拿到数据展示即可,减少了一定的工作量。


三、前端代码


前端是通过antd-echarts的分组柱状图来实现的,具体的代码实现如下:


import { Column } from '@ant-design/plots';
const DemoColumn = () => {
const data=[{'name': 'PC', '年份': '2011', '平均值': 1415}, {'name': '全部', '年份': '2011', '平均值': 1941}, {'name': '移动端', '年份': '2011', '平均值': 526}, {'name': 'PC', '年份': '2012', '平均值': 1000}, {'name': '全部', '年份': '2012', '平均值': 1652}, {'name': '移动端', '年份': '2012', '平均值': 651}, {'name': 'PC', '年份': '2013', '平均值': 1590}, {'name': '全部', '年份': '2013', '平均值': 2935}, {'name': '移动端', '年份': '2013', '平均值': 1344}, {'name': 'PC', '年份': '2014', '平均值': 1383}, {'name': '全部', '年份': '2014', '平均值': 2618}, {'name': '移动端', '年份': '2014', '平均值': 1234}, {'name': 'PC', '年份': '2015', '平均值': 2345}, {'name': '全部', '年份': '2015', '平均值': 4714}, {'name': '移动端', '年份': '2015', '平均值': 2369}, {'name': 'PC', '年份': '2016', '平均值': 1948}, {'name': '全部', '年份': '2016', '平均值': 3826}, {'name': '移动端', '年份': '2016', '平均值': 1878}, {'name': 'PC', '年份': '2017', '平均值': 890}, {'name': '全部', '年份': '2017', '平均值': 2466}, {'name': '移动端', '年份': '2017', '平均值': 1576}, {'name': 'PC', '年份': '2018', '平均值': 1926}, {'name': '全部', '年份': '2018', '平均值': 4659}, {'name': '移动端', '年份': '2018', '平均值': 2732}, {'name': 'PC', '年份': '2019', '平均值': 1672}, {'name': '全部', '年份': '2019', '平均值': 5304}, {'name': '移动端', '年份': '2019', '平均值': 3631}, {'name': 'PC', '年份': '2020', '平均值': 876}, {'name': '全部', '年份': '2020', '平均值': 3491}, {'name': '移动端', '年份': '2020', '平均值': 2614}, {'name': 'PC', '年份': '2021', '平均值': 1374}, {'name': '全部', '年份': '2021', '平均值': 6640}, {'name': '移动端', '年份': '2021', '平均值': 5265}, {'name': 'PC', '年份': '2022', '平均值': 896}, {'name': '全部', '年份': '2022', '平均值': 3425}, {'name': '移动端', '年份': '2022', '平均值': 2529}]
  const config = {
    data,
    isGroup: true,
    xField: '年份',
    yField: '平均值',
    seriesField: 'name',
    color: ['#1ca9e6', '#f88c24','#30BF78'],
    /** 设置间距 */
    // marginRatio: 0.1,
    label: {
      // 可手动配置 label 数据标签位置
      position: 'middle',
      // 'top', 'middle', 'bottom'
      // 可配置附加的布局方法
      layout: [
        // 柱形图数据标签位置自动调整
        {
          type: 'interval-adjust-position',
        }, // 数据标签防遮挡
      ],
    },
  };
  return <Column {...config}  />;
};
export default DemoColumn

展示结果

655e1102d21e456ba5951e1297ee6bfa.png

然后按照同样的操作再试试“月饼”关键词的呈现:

9ff136aa114e4b11b2d51b12a97b13dd.png


另外antd-echarts还提供非常多的图表供我们使用比如常见的折线图、饼图等,不常见的漏斗图、玉珏图、分面图等也支持。文档也很规范容易上手,大家也可以尝试下。


四、结果分析


通过上图我们可以发现:


2021年中秋热度最高;

2012年中秋热度最低;

越来越多的用户倾向使用移动端进行搜索,电脑用户在逐渐减少,这也符合整个大环境的表现;

上面的数据也仅供参考,没有实际的对比意义,毕竟数据的影响因素有很多。特别是这两年各大电商、短视频平台对百度搜索的分流,导致使用百度的用户越来越少,自然数据的参考价值就不大。

如果真要做有意义的分析,建议通过各大电商平台的搜索量或相关订单量来分析,这样的数据会更有参考价值一些。

目录
相关文章
|
8月前
|
SQL 人工智能 搜索推荐
向量加成,快速搜索的魔力法宝
函数计算的应用部署真是太方便了,只需要授权,从资源创建到部署几乎只在函数计算的控制台就一站式解决了。
36 42
|
5天前
|
机器学习/深度学习 数据采集 数据可视化
R语言Pearson相关性分析降雨量和“外卖”谷歌搜索热度google trend时间序列数据可视化
R语言Pearson相关性分析降雨量和“外卖”谷歌搜索热度google trend时间序列数据可视化
|
5天前
|
数据可视化 搜索推荐 数据挖掘
R语言Pearson相关性分析就业率和“性别平等”谷歌搜索热度google trend时间序列数据可视化
R语言Pearson相关性分析就业率和“性别平等”谷歌搜索热度google trend时间序列数据可视化
|
SEO
谷歌搜索留痕的技术公式【2023年新版】
一般情况下我们是不建议个人搭建的,因为成本很高,而且技术成本和维护成本也对谷歌的SEO机制要有一定的熟悉。
299 0
谷歌搜索留痕的技术公式【2023年新版】
|
搜索推荐 SEO
怎样做好搜索下拉优化?百度搜索推荐词的推广方式
怎样做好搜索下拉优化?百度搜索推荐词的推广方式
194 0
小马识途:影响抖音搜索排名的因素有哪些?
近年来,互联网进入下半场,移动端的新媒体抢到了流量风口,尤其是以抖音小红书为首的短视频平台深受关注。小马识途的客户开始通过抖音做推广、做宣传的企业越来越多,其中有一些公司已经尝到了抖音seo带来的甜头,加入抖音seo优化的企业日渐增多。 抖音seo优化没有一个标准的市场价,一般来说抖音seo优化方式可以分为两类:1.找代运营公司;2.使用抖音seo优化系统。
219 0
|
JSON 安全 搜索推荐
利用搜索指数窥探舆情
利用搜索指数窥探舆情
394 0
利用搜索指数窥探舆情
|
大数据 索引 SEO
高指数的关键词如何做优化,这4点技巧必须掌握
最令seoer头疼的无非是大流量词的优化以及词库的增加,而大关键词的优化难度是比较大的,上万的指数词基本上很难做上去,能做上去的也不是短时间,而且也不稳定,所以这个应该怎么做呢。
高指数的关键词如何做优化,这4点技巧必须掌握
|
自然语言处理 数据可视化 前端开发
电商搜索“无结果率高,体验差”怎么办?
本文针对电商搜索中遇到的“搜索无结果,排序机制不满足业务需求”的问题进行刨析,并通过阿里云开放搜索的最佳实践跟大家聊一聊应该如何应对解决~
2949 0
电商搜索“无结果率高,体验差”怎么办?
|
数据挖掘 搜索推荐
带你读《广告数据定量分析:如何成为一位厉害的广告优化师》之三:广告数据的描述:图表
这是一部面向初级广告优化师、渠道运营人员的广告数据分析和效果优化的实战指南。数据分析功底的深浅,决定了广告优化师能力水平的高低。这本书一方面告诉读者成为一名厉害的广告优化师需要掌握的数据分析技能,以及如何快速掌握这些技能;一方面又为读者总结了SEM广告、信息流广告、应用商店广告数据的分析方法论和效果优化的方法,以及多广告推广渠道的统筹优化。书中提供大量真实数据案例,助你提升广告数据分析的理论深度和业务水平。