Python爬取热搜数据之炫酷可视化

 可视化展示

看完记得点个赞哟

炫酷可视化音乐组合版来了!

项目介绍

背景

现阶段、抖音、快手、哗哩哗哩、微信公众号已经成为不少年轻人必备的“生活神器”。在21世纪的今天,你又是如何获取外界的信息资源的?相信很多小伙伴应该属于下面这一种类型的:

事情要想知道快,抖音平台马上拍;

微博热搜刷一刷,聚焦热点不愁卖;

闲来发呆怎么办, B 站抖音快手来;

要是深夜无聊备,微信文章踩一踩;

哈哈哈,小小的活跃一下气氛

在这个万物互联的时代,已不再是那个“从前慢,车马慢......”的飞鸽传书三月天的时代了,数据每一天都有人在产生,也有人时刻在收集和监控数据,更是有人不断地在分析和利用数据产生潜在的价值。

项目概览

本次项目选取的是热搜数据,加数据分析和可视化展示,基于热搜的娱乐项目。

本次数据是选取之前的,并不是最新的数据,当然可以自己去运行代码就可以爬取最新的数据了!

热搜数据爬取

部分代码展示

热度动态轮播图

部分代码展示

源码点击此处下载

话题定位追踪可视化

部分源码展示

源码点击此处下载

爬取热搜文章评论词云分析

部分源码展示

点击此处下载源码

近期热搜话题词云展示

点击此处下载源码

其他项目点击此处


项目代码展示

热搜数据爬取

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NzcyMzczMg==,size_16,color_FFFFFF,t_70

1.通过简单对网页的解析与观察我们可以定位我们所需要的数据标签值,决定我们应该用什么解析库,可以用Xpath、正则表达式、beautifulsoup都可以实现功能,本次选取的是beautifulsoup进行对数据表的解析。

2.同时我们需要注意的是反爬的措施,我们需要加入自己的请求头,我们借用一个第三方库,它可以随机产生一个可用的请求头来伪装我们的软件,模拟浏览器进行数据抓取:from fake_useragent import UserAgent

3.热搜是每一分钟更新一次,我们需要用到定时爬取的模块,每一分钟爬取需要的数据:import schedule

4.每一分钟爬取一次,一个小时爬取60种类数据,建议爬取开启5-7小时,让电脑自动抓取数据,那么就需要用到延时模块了:import time

5.抓取的数据有排名、热搜标题、热度,为了我们方便展示和数据分析,我们需要给它加上时间戳,自动获取当前时间,引进:from datetime import datetime

6.数据爬取好之后我们需要存储,我们采用pandas这个强大的数据分析库,进行数据的存储:import pandas as pd

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NzcyMzczMg==,size_16,color_FFFFFF,t_70

部分代码展示

from fake_useragent import UserAgentimport scheduleimport pandas as pdfrom datetime import datetimeimport requestsfrom bs4 import BeautifulSoupimport timeua = UserAgent()  # 解决了我们平时自己设置伪装头的繁琐,此库自动为我们弹出一个可用的模拟浏览器url = "https://s.weibo.com/top/summary?cate=realtimehot&sudaref=s.weibo.com&display=0&retcode=6102"headers = {"User-Agent": ua.random}get_info_dict = {}  # 创建一个数据字典count = 0a = 1def main():    global url, get_info_dict, count, a    get_info_list = []    html = requests.get(url, headers).text  # 返回网页源码为txt文本
# 定时爬虫schedule.every(1).minutes.do(main)  # 根据每隔一分钟更新一次数据,我们就每隔一分钟爬取数据while True:    time.sleep(2)    schedule.run_pending()  # 执行可执行结构

热度动态轮播图

可视化基于pyecharts这个强大的库,适合做这种比较炫酷的可视化展示,轮播图是如何去实现数据迭代展示的,我们一共爬取了多少次就会有多少次迭代循环,第一次提取出数据进行可视化,第二次继续提取,如果第二次的数据与第一次的数据不一样那么动态效果也就自然显示出来了,这样不断的去展示效果,再去设置一些参数:比如播放的帧数时间间隔等,那种动态的效果就会出来了。

部分代码展示

df = pd.read_csv('夜间微博.csv', encoding='gbk')#解码,注意这里不能使用utf-8,因为CSV文件使用gbk编码t = Timeline({"theme": ThemeType.MACARONS})  # 定制主题——动态直方图for i in range(389):#这里的参数设置为我们总共了爬取的多少次更新动态数据    bar = (        Bar()        .add_xaxis(list(df['关键词'][i*20: i*20+20][::-1]))         # x轴数据        .add_yaxis('热度', list(df['热度'][i*20: i*20+20][::-1]))   # y轴数据        .reversal_axis()     # 翻转        .set_global_opts(    # 全局配置项            title_opts=opts.TitleOpts(  # 标题配置项                title=f"{list(df['时间'])[i*20]}",                pos_right="5%", pos_bottom="15%",                title_textstyle_opts=opts.TextStyleOpts(                    font_family='KaiTi', font_size=24, color='#14d8ff'#颜色配置去:https://encycolorpedia.cn/ff1493查询设置                )            ),            xaxis_opts=opts.AxisOpts(   # x轴配置项                splitline_opts=opts.SplitLineOpts(is_show=True),#降序排序,从大到小,默认为升序            ),            yaxis_opts=opts.AxisOpts(   # y轴配置项                splitline_opts=opts.SplitLineOpts(is_show=True),                axislabel_opts=opts.LabelOpts(color='#149bff')            )        )        .set_series_opts(    # 系列配置项            label_opts=opts.LabelOpts(  # 标签配置                position="right", color='#ff1435')

源码点击此处下载

话题定位追踪可视化

对爬取的数据知识简单的轮播图展示热度,显得有点单调了,选取自己喜欢的话题去追踪定位它在这一个时间段里面的热度趋势,采用pyecharts这个动态折线图的展示效果,再结合Python原生态的算法添加数据,两者结合在一起如虎添翼。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NzcyMzczMg==,size_16,color_FFFFFF,t_70

部分源码展示

 c = (        Line(init_opts=opts.InitOpts(width="1400px", height="600px"))  # 画布大小            .add_xaxis(x_data)  # 添加x轴            .add_yaxis('周震南发声', y_1data, is_symbol_show=False, color=['red'])  # 添加第一个y轴            .add_yaxis('男子第100次献血为自己庆生', y_2data, is_symbol_show=False, color=['blue'])            .add_yaxis('全明星1111起挺你', y_3data, is_symbol_show=False, color=['purple'])            .add_yaxis('辛芷蕾 我发型咋啦', y_4data, is_symbol_show=False, color=['green'])            .set_global_opts(            title_opts=opts.TitleOpts(title='微博热度走势图', subtitle="2020/10/27-凌晨1点热搜追踪图"),            # 设置x轴的label字体的走向,由于x轴过多,显示不全,在这调整旋转角度            xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=90)),            # 下面这是调整是否可以缩放的            datazoom_opts=opts.DataZoomOpts(is_show=True),        )    )
with open(r"热度跟踪图.txt", 'w', encoding="utf-8") as fi:        for q in ll:            fi.write('"' + q + '"' + ",")        print("恒定时间写入成功!!")        fi.write('热搜标题1:{}'.format(a))        for w in ls:            fi.write(w + ",")        print("追踪热度1号写入成功!!")        fi.write('热搜标题2:{}'.format(b))        for w in lk:            fi.write(w + ",")        print("追踪热度2号写入成功!!")        fi.write('热搜标题3:{}'.format(c))        for w in lf:            fi.write(w + ",")        print("追踪热度3号写入成功!!")        fi.write('热搜标题4:{}'.format(d))        for w in le:            fi.write(w + ",")        print("追踪热度4号写入成功!!")

源码点击此处下载

爬取热搜文章评论词云分析

结合抓包工具和浏览器的模拟点击,爬取文章评论,利用这个自动输出展示词云,让我们快速理解关于该话题文章的热搜趋势和热点,来看看周震南事件到底是什么东东

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NzcyMzczMg==,size_16,color_FFFFFF,t_70

部分源码展示

import requestsimport jsonimport pprintimport redef get_comments(url):    headers={       "cookie":"WEIBOCN_FROM=1110006030; SUB=_2A25ykBYoDeRhGeNL6VQX9SzOzz-IHXVuerpgrDV6PUJbkdANLVnxkW1NSP633HCwOYWsoKRdojJu08k0-l9OKPoi; SUHB=09P9SVp1GiU0Dz; _T_WM=46932887560; XSRF-TOKEN=f40f69; MLOGIN=1; M_WEIBOCN_PARAMS=uicode=20000061&fid=4563689719990147&oid=4563689719990147",        "Accept":"application/json, text/plain, */*",        "MWeibo-Pwa":"1",        "Referer":"https://m.weibo.cn/detail/4563874994983986",        "User-Agent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Mobile Safari/537.36",        "X-Requested-With":"XMLHttpRequest",        "X-XSRF-TOKEN":"50171a"    }    res=requests.get(url,headers=headers)    ids=re.findall('u524d","id":"(.*?)",',res.text)    file=open("评论.txt", "w", encoding='utf-8')    for id in ids:        s_url="https://m.weibo.cn/comments/hotflow?id={}&mid={}&max_id_type=0".format(id,id)        print(s_url)        sing_res = requests.get(url=s_url, headers=headers)        sing_data = json.loads(sing_res.text)        users = sing_data['data']['data']        age_urls = re.findall('"profile_url":"(.*?)",', res.text)
with open(r"评论.txt",encoding="utf-8") as file:    a=file.read()    b=jieba.lcut(a)    for x in b:        if x in ",。、;:‘’“”【】《》?、.!…":            continue        else:            if len(x) == 1:                ll.append(x)            elif len(x) == 2:                lg.append(x)            elif len(x) == 3:                lk.append(x)            elif len(x)== 4:                lj.append(x)            #     lp.append(x)    for i in lg:        lp.append(i)    for p in lk:        lp.append(p)    for f in lj:        lp.append(f)

点击此处下载源码

近期热搜话题词云展示

爬取近期一个月的热搜话题,看看大家最近都在聚焦什么,不多说了,这里涉及到的一些参数,首先请求头,cookies,能加的都加,我们只需要获取文字标题,可以通过Xpath来解决,源码里面是利用beautifulsoup这个一样的道理,最后输出为一个文本格式即可,抓包工具还是比较好的,一些看不到的数据我们可以通过这个神器来解决,自然动态加载还是Ajax都不是问题了。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NzcyMzczMg==,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NzcyMzczMg==,size_16,color_FFFFFF,t_70

点击此处下载源码

其他项目点击此处

基于pyecharts可视化展示,动态可视化效果,后期在专栏《数据可视化之美》里面详细介绍pyecharts的用法和展示案例

每文一语

 微 言细词览无余
 博 文入目皆可析
 数 秒分取千万条
 据 重方解图表均

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/23185.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT 一分钟教你做出非常炫酷的PPT

PPT(PowerPoint)是一个广泛使用的演示工具,在职场中扮演着至关重要的角色。以下是PPT在职场中的几个方面的重要性: 1. 演示能力:在职场中,经常需要展示项目、产品或服务等内容,以便向客户、同事或管理层传达信息和创造共识。PPT是一种很好的演示工具,可以使演示更生动…

个人珍藏的小众软件

1本地文件搜索 Everything 2代码编辑器 Sublime Text3 3手机电脑多屏协同 PCManager(华为电脑管家的台式机版) 4截屏软件 Sinpaste、天若文字识别 5垃圾清理软件 CClear 6缤纷批量重命名软件 7思维导图写作软件 MS 8文字转语音软件 朗读女 9国产…

Bard:Google AI开始支持中文对话和看图说话了

说起时下火爆的生成式AI,并不是只有ChatGPT。Bard也是一个很优秀的产品,并且刚刚发布的很多有趣的新功能。文末告诉你如何访问Bard。 Google AI在最近的更新中发布了Bard,一个新的语言模型。Bard支持多种语言,包括中文&#xff0…

基于android平台的语音机器人服务娱乐系统

分 类 号:TP311 学校代码:11460 学 号:10130920 本科生毕业论文 基于android平台的语音机器人服务娱乐系统 Robot Entertainment Service System Based on Android Platform 所在系(院): 学 生:…

Voice Control for ChatGPT快捷方便与ChatGPT进行交流学习。

快捷又不失灵活性 日常生活中,我们与亲人朋友沟通交流一般都是喜欢语音的形式来完成的,毕竟相对于文字来说语音就不会显的那么的苍白无力,同时最大的好处就是能解放我们的双手吧,能更快实现两者间的对话,沟通便更高效…

谷歌Bard更新:支持中文提问和语音朗读

ChatGPT不断更新功能,从GPT-3到3.5,再到GPT-4,甚至最新的plus版已经支持图像处理和图表生成,而谷歌Bard却自从推出后就一直很安静,没有什么大动作。眼见被ChatGPT、Claude甚至是文心一言抢去了风头,自然心有…

用scriptable+chatgpt得到一个免费的会说话的GPT

作者:徐翔 前言 在使用ChatGPT时,我们经常遇到需要双手不能释放的情境,这使得我们无法充分发挥ChatGPT的文本输入和输出功能。 然而,随着技术的不断进步,语音识别技术越来越精准和便捷,这为我们实现与C…

数据标注工具CVAT教程

目录 0. CVAT链接 1. 标注图(以旋转框为例)导出可视化效果 2. docker-容器安装cvat 3. cvat标注教程 3.1 支持的类型 3.2 标注流程 4. 类似paddle-OCR文本检测-文本识别 标注流程 0. CVAT链接 cvat:https://github.com/openvinotoolkit/cvat 1. 标注图(以旋转框为…

数据标注是什么,如何高效完成数据标注?

尽管人工智能有着悠久的历史,但是直到近些年它才被大众所熟知。任何一个行业都有可能从人工智能中受益,它能够实现业务流程和预测分析自动化,这对于现代企业的生产至关重要。 然而,即使人工智能和机器学习被企业广泛应用&#xf…

ChatGPT要把数据标注行业干掉了?比人便宜20倍

来源:机器之心 没想到,AI 进化之后淘汰掉的第一批人,就是帮 AI 训练的人。 很多 NLP 应用程序需要为各种任务手动进行大量数据注释,特别是训练分类器或评估无监督模型的性能。根据规模和复杂程度,这些任务可能由众包工…

数据标注是什么,如何进行数据标注?

尽管人工智能有着悠久的历史,但是直到近些年它才被大众所熟知。任何一个行业都有可能从人工智能中受益,它能够实现业务流程和预测分析自动化,这对于现代企业的生产至关重要。 然而,即使人工智能和机器学习被企业广泛应用&#xff…

ChatGPT促进中国大语言模型发展,底层标注数据质量成关键,景联文科技提供专业数据采集标注服务

自开年以来,ChatGPT的热浪带来了一场全民的科技狂欢,同时打开了业内对NLP发展的想象空间,拉开了大语言模型产业和生成式AI产业飞速发展的序幕。 海外市场中OpenAI、微软、谷歌、Meta等巨头都在积极争抢布局ChatGPT,中国市场中百度…

比人类便宜20倍,ChatGPT让数据标注者危矣?

来源:学术头条 大数据文摘 本文约1000字,建议阅读5分钟 能否让机器帮助人类完成这一基础任务呢? 当前,很多自然语言处理(NLP)应用需要高质量的标注数据来支撑,特别是当这些数据被用于训练分类器…

必须了解的不同地区的支付方式FP独立站安全收款方式

跨境收款是跨境电商自建站系统最重要的功能之一,其收款方式一直是众多独立站卖家特别是做fp独立站的最为关注的问题之一,加上chatgpt出现,对fp独立站的检测审核更加严格,那么,你知道要怎么做才能安全收款吗&#xff1f…

互联网晚报 | 马斯克、苹果创始人等科技人士发公开信叫停人工智能开发;钟薛高推出3.5元雪糕;理想回应雷达在无人陵园显示全是人...

马斯克、苹果联合创始人等千名科技人士发公开信叫停人工智能开发:对社会和人性存潜在风险 据报道,包括马斯克、苹果联合创始人斯蒂夫沃兹尼亚克在内的1000多名人工智能专家和行业高管日前签署了一份公开信,他们呼吁将AI系统的训练暂停六个月&…

月薪30k,要求会用chatgpt写代码

首先声明这不是招聘广告。是我朋友圈猎头发的招聘信息,我只是看到有个条件要会chatgpt写代码。 真的有公司招聘chatgpt程序员写代码。所以会chatgpt是多了个出路,并不会替代程序员。

【Paper】英文文章图表规范和文献引用格式

两年前,第一次写文章的时候遇到了各种问题, 引用格式是错的,没见过三线表,图片尺寸和文章不搭,不知道怎么管理文献,不知道方法和结果章节的区别…… 两年后,我变强了,也变秃了 好…

电子文献引用 引用csdn

我瞎写的,不知道对不对,网上实在难找(参考文献如果是网页的话应该怎么写格式?): WGS.连续变量分箱[EB/OL].csdn,2020-11-20[2022-05-02].https://blog.csdn.net/qq_42363032/article/details/10…

使用HistCite进行文献引用分析

[前言]每一位科研工作者,在进入一个新的领域或课题时,都希望找到该领域最有价值的论文进行阅读。那么,通过分析该领域全部论文的引用关系就可以找到被引用最多的论文、最原始的文献,从而进行有针对性的阅读。 本文介绍如何通过Hi…

服务器响应很慢的分析与解决

1、背景 最近部署了一台web服务器,上架后用户那边反映打开很慢,我尝试用外网打开发现确实慢,包括ssh登录就特别慢,于是产生了分析与解决的想法。 2、分析 检查了网线和上联端口的带宽,发现都没问题,ping10…