前言

文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者: 朱小五 凹凸玩数据

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

http://note.youdao.com/noteshare?id=3054cce4add8a909e784ad934f956cef

王思聪又又又上了微博热搜——然而这次却不是关于娱乐圈。

最近几天,王思聪与他的“限消令”接连登上热搜榜,引发吃瓜群众们广泛热议。

知乎的段子手们也纷纷发挥自己的想象力。

小五本来想看看王思聪的微博,结果发现他的微博早已做了隐藏。

那么我们不妨干脆转换一下思路,从微博热搜看看“娱乐圈纪检委”——王校长的热搜往事。

获取数据

【热搜神器】网站,统计了历史的微博热搜记录。

打开官网,F12,Network查看异步请求XHR。

成功找到返回json格式数据的url。

利用requests爬取数据

 resou = pd.DataFrame(columns=['datetime','title','searchCount'])

for i in range(1,20):
url= 'https://www.enlightent.cn/research/top/getWeiboRankSearch.do?keyword=王思聪&from='+ str(i) +'&t=395201742&type=realTimeHotSearchList'
html = requests.get(url=url, cookies=cookie, headers=header).content
data = json.loads(html.decode('utf-8'))
for j in range(20): #一页20个
resou = resou.append({'datetime':stampToTime(data['rows'][j]['updateTime']),
'title':data['rows'][j]['keywords'],'searchCount':data['rows'][j]['searchNums'],
},ignore_index=True)

resou.to_csv("resou.csv", index_label="index_label",encoding='utf-8-sig')

成功获取王思聪2017年5月-至今的所有微博热搜数据,共208条。

也就是说在这923天中,王思聪共上了208次热搜!!!平均4.4天就上一次热搜!!!

数说2017热搜往事

首先,小五利用pyecharts生成思聪在2017年上热搜的日历热度图。

 calendar = (
Calendar(init_opts=opts.InitOpts(width='1800px',height='1500px'))
.add("", data,calendar_opts=opts.CalendarOpts(range_=['2017-05-01', '2017-12-31']))
.set_global_opts(
title_opts=opts.TitleOpts(title="思聪2017年热搜",pos_left='15%'),
visualmap_opts=opts.VisualMapOpts(
max_=200000,min_=0,orient="horizontal",is_piecewise=True,pos_top="230px",pos_left="100px",pos_right="10px"))
.render('2017日期热力图.html'))

同时,也用wordcloud将这些热搜的标题做成了词云。

2017年,风头正盛的王思聪最受关注的就是他传了一轮又一轮的绯闻女友,豆得儿、雪梨、慎婕……和看不惯谁就发声的张扬姿态,怼柯洁、怼陈欧、怼华大基因CEO……

一方面王思聪的微博下面每天都会有大量的男性和女性粉丝留言叫其老公,因此获得了“国民老公”的称号;另一方面,因为他经常今天diss这个娱乐圈明星、明天怼那个,获得了“娱乐圈纪检委”的称号。

哦对了,王思聪和周鸿祎朋友圈对话中,著名的“私人飞机”梗也是在这一年流传开来。

数说2018热搜往事

到了2018年,王思聪的电竞事业红红火火地搞了起来,不仅旗下战队 IG 夺得LOL S8全球总决赛,老板王思聪也体验了一把职业选手。

在IG决赛的现场,王思聪吃热狗的动作被做成表情包传遍全网,成为“漫画家”们练手的素材。

后续接连的抽奖也是噱头十足,先是简单粗暴的一万块,再是“抽手机壳送手机”这样的段子走进现实,当然还一不小心揭露了微博抽奖的“潜规则”。

2018年,王思聪有钱任性人设不崩,一个点赞或者取关都能轻松上热搜。

数说2019(上)热搜往事

2019年上半年,王思聪坚持不懈的怼天怼地,diss吴秀波、diss大张伟。

2019年3月8日,是王思聪微博停更的第48天,他一手缔造的熊猫直播宣布破产。但那时,熊猫直播的破产还没有对他产生影响,王思聪还是那个“创业失败就只能回家继承千亿家产”的富二代。

同时,“吃热狗”、“吃玉米”梗的持续发酵、与李易峰的“捏脸杀”、与周洁琼的同游绯闻,他的热度从电竞圈到娱乐圈也算一波接一波,没有长期间断过。

数说2019(下)热搜往事

但到了2019年下半年,王思聪的热度肉眼可见的下降,大家对有钱任性的人设早已不再追捧,他本人也低调了许多。不仅本人数月来一直隐身,连历史微博也隐藏了起来。

等到他再上热搜的时候,关键词已经变成了冷冰冰的“限制”、“冻结”、“债主”、“查封”……

完整代码

 import json
import requests
import time
import pandas as pd


## 设置headers和cookie,数据爬取
header = '设置自己的header'
cookie = '设置自己的cookie'

def stampToTime(stamp): #时间转换
datatime = time.strftime("%Y-%m-%d",time.localtime(float(str(stamp)[0:10])))
return datatime

resou = pd.DataFrame(columns=['datetime','title','searchCount'])

for i in range(1,20):
url= 'https://www.enlightent.cn/research/top/getWeiboRankSearch.do?keyword=王思聪&from='+ str(i) +'&t=395201742&type=realTimeHotSearchList'
html = requests.get(url=url, cookies=cookie, headers=header).content
data = json.loads(html.decode('utf-8'))
for j in range(20): #一页20个
resou = resou.append({'datetime':stampToTime(data['rows'][j]['updateTime']),
'title':data['rows'][j]['keywords'],'searchCount':data['rows'][j]['searchNums'],
},ignore_index=True)

resou.to_csv("resou.csv", index_label="index_label",encoding='utf-8-sig')



resou_dt = resou.groupby('datetime',as_index=False).agg({'searchCount':['mean']})
resou_dt.columns = ['date','avg_count']

## 绘制日历图
from pyecharts import options as opts
from pyecharts import Calendar
data = [
[resou_dt['date'][i], resou_dt['avg_count'][i]]
for i in range(resou_dt.shape[0])
]

calendar = (
Calendar(init_opts=opts.InitOpts(width='1800px',height='1500px'))
.add("", data,calendar_opts=opts.CalendarOpts(range_=['2019-01-01', '2019-07-12']))
.set_global_opts(
title_opts=opts.TitleOpts(title="2019每日热搜平均指数",pos_left='15%'),
visualmap_opts=opts.VisualMapOpts(
max_=3600000,
min_=0,
orient="horizontal",
is_piecewise=False,
pos_top="230px",
pos_left="100px",
pos_right="10px"
)
)
.render('日期热力图.html')
)

python:王思聪究竟上了多少次热搜?的更多相关文章

  1. Python爬取热搜存入数据库并且还能定时发送邮件!!!

    一.前言 微博热搜榜每天都会更新一些新鲜事,但是自己处于各种原因,肯定不能时刻关注着微博,为了与时代接轨,接受最新资讯,就寻思着用Python写个定时爬取微博热搜的并且发送QQ邮件的程序,这样每天可以 ...

  2. Python 分析到底是谁操纵《庆余年》上了热搜?

    庆余年电视剧终于在前两天上了,这两天赶紧爬取数据看一下它的表现. ​ ​ 庆余年 ​ <庆余年>是作家猫腻的小说.这部从2007年就开更的作品拥有固定的书迷群体,也在文学IP价值榜上有名. ...

  3. 2020不平凡的90天,Python分析三个月微博热搜数据带你回顾

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:刘早起早起 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...

  4. 让python在hadoop上跑起来

    duang~好久没有更新博客啦,原因很简单,实习啦-好吧,我过来这边上班表示觉得自己简直弱爆了.第一周,配置环境:第二周,将数据可视化,包括学习了excel2013的一些高大上的技能,例如数据透视表和 ...

  5. 解决基于BAE python+bottle开发上的一系列问题 - artwebs - 博客频道 - CSDN.NET

    解决基于BAE python+bottle开发上的一系列问题 - artwebs - 博客频道 - CSDN.NET 解决基于BAE python+bottle开发上的一系列问题 分类: python ...

  6. Python第一天:你必须要知道的Python擅长领域以及各种重点学习框架(包含Python在世界上的应用)

    目录 Python5大擅长领域 WEB开发 网络编程 科学运算 GUI图形开发 运维自动化 Python在世界上的知名应用 国外 谷歌 CIA NASA YouTube Dropbox Instagr ...

  7. Python基于Python实现批量上传文件或目录到不同的Linux服务器

    基于Python实现批量上传文件或目录到不同的Linux服务器   by:授客 QQ:1033553122 实现功能 1 测试环境 1 使用方法 1 1. 编辑配置文件conf/rootpath_fo ...

  8. Python Selenium 文件上传之Autoit

    今天补充一种文件上传的方法 主要是因为工作中使用SendKeys方法不稳定,具体方法见: Python Selenium 文件上传之SendKeys 这种方法直接通过命令行执行脚本时没有问题,可以成功 ...

  9. Python Selenium 文件上传之SendKeys

    昨天写了Web 文件下载的ui自动化,下载之后,今天就要写web 文件上传的功能了. 当然从折腾了俩小时才上传成功.下面写一下自己操作的步骤 首先网上说的有很多方法 如 input 标签的最好做了,直 ...

随机推荐

  1. Python爬虫基础——HTML、CSS、JavaScript、JQuery网页前端技术

    一.HTML HTML是Hyper Text Markup Language(超文本标记语言)的缩写. HTML不是一种编程语言,而是标记语言. HTML的语法 双标签: 单标签: HTML的元素和属 ...

  2. jQuery 源码解析(二十四) DOM操作模块 包裹元素 详解

    本节说一下DOM操作模块里的包裹元素子模块,该模块可将当前匹配的元素替换指定的DOM元素,有如下方法: wrap(html)               ;在每个匹配元素的外层添加一层DOM元素   ...

  3. SpringBoot2.0 整合 Redis集群 ,实现消息队列场景

    本文源码:GitHub·点这里 || GitEE·点这里 一.Redis集群简介 1.RedisCluster概念 Redis的分布式解决方案,在3.0版本后推出的方案,有效地解决了Redis分布式的 ...

  4. spark log4j 日志配置

    现在我们介绍spark (streaming) job独立配置的log4j的方法,通过查看官方文档,要为应用主程序(即driver端)或执行程序使(即executor端)自定义log4j配置,需要两步 ...

  5. Thymeleaf对象的使用:基本对象

    Thymeleaf中有许多内置对象,可以在模板中实现各种功能.下面有几个基本对象.Web对象常用有:request.session.servletContext.Thymeleaf提供了几个内置变量p ...

  6. Nuget使用时遇到的问题,Solved

    在VS的程序包管理控制台中输入Install-package MySql.Data时,默认安装最新的版本8.0.18, 但是安装完成后,发现包并没有添加到项目的引用列表中, 在解决方案的package ...

  7. selenium时间等待方法

    在UI自动化测试中,必然会遇到环境不稳定.网络慢等情况.当你觉得定位没有问题,但程序却直接报了元素不可见时,那你就需要思考是否因为程序运行太快或者页面加载太慢而造成了元素不可见,必须要再等待直至元素可 ...

  8. Oracle 11gR2 RAC网络配置,更改public ip、vip和scanip

    Oracle 11gR2 RAC网络配置,更改public ip.vip和scanip 转载黑裤子 发布于2018-10-30 01:08:02 阅读数 2898  收藏 展开 转载. https:/ ...

  9. gcc 4.9 编译安装 in Ubuntu 18.04(主要用于在无root权限下,进行更新系统 gcc 版本)

    gcc 4.9 编译安装教程,因为项目编译过程中,需要采用特定的gcc版本来进行编译,所以进行简要记录,进行备忘: 下载:curl -O -L https://mirrors.tuna.tsinghu ...

  10. webpack打包 The 'mode' option has not been set, webpack will fallback to

    webpack 打包报错 The 'mode' option has not been set, webpack will fallback to 'production' for,Module no ...