首页 > 编程语言 >Python爬虫以及数据可视化分析之某站热搜排行榜信息爬取分析

Python爬虫以及数据可视化分析之某站热搜排行榜信息爬取分析

时间:2023-05-22 14:00:42浏览次数:43  
标签:pyecharts title Python 某站 爬虫 爬取 import data opts


目录

  • 前言
  • 一,确定目标
  • 二,发送请求
  • 三, 解析数据
  • 四, 保存数据
  • pyecharts进行可视化
  • “某站”数据排名前10视频类型
  • “某站”标题标签可视化
  • “某站”喜欢视频分类概况
  • 总结

前言

本项目将会对“某站”热搜排行的数据进行网页信息爬取以及数据可视化分析 本教程仅供学习参考!

Python爬虫以及数据可视化分析之某站热搜排行榜信息爬取分析_数据分析

首先,准备好相关库

requests、pandas、pyecharts等

因为这是第三方库,所以我们需要额外下载
下载有两种方法(以requests为例,其余库的安装方法类似):

pip install requests

Python爬虫以及数据可视化分析之某站热搜排行榜信息爬取分析_数据挖掘_02


点击回车后,就会自动帮我们进行安装,如果有的同学安装过程中是非常慢,半天看不到效果,建议大家可以使用镜像文件:在指令中添加-i 网址

pip install numpy -i https://mirrors.aliyun.com/pypi/simple/

常见镜像有:
镜像名称 网址
阿里云 https://mirrors.aliyun.com/pypi/simple/
豆瓣 https://pypi.douban.com/simple/
清华大学(推荐) https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学 http://pypi.hustunique.com/
山东理工大学 http://pypi.sdutlinux.org/
这些都是我们在准备工具,准备好工作后,我们就可以开始进行我们的爬虫工作啦.

一,确定目标

Python爬虫以及数据可视化分析之某站热搜排行榜信息爬取分析_python_03

import requests
# 1确定目标
headers={"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36"}
url="https://api.某站(自己可以找到网址,平台不允许放).com/x/web-interface/popular?ps=20&pn=1"

二,发送请求

Python爬虫以及数据可视化分析之某站热搜排行榜信息爬取分析_python_04

response=requests.get(url=url,headers=headers)

三, 解析数据

Python爬虫以及数据可视化分析之某站热搜排行榜信息爬取分析_爬虫_05

datas=response.json()['data']['list']
results=[]
for data in datas:
    result={
    '标题':data['title'],
    '视频分类':data['tname'],
    'aid':data['aid'],
    'bvid': data['bvid'],
    '视频描述': data['desc'],
    '视频封面': data['pic'],
    'up主': data['owner']['name'],
    '视频链接': data['short_link'],
    '投币数': data['stat']['coin'],
    '收藏数': data['stat']['favorite'],
    '弹幕数': data['stat']['danmaku'],
    '喜欢数': data['stat']['like'],
    '观看数': data['stat']['view'],
    '分享数': data['stat']['share'],
    }
    results.append(result)

Python爬虫以及数据可视化分析之某站热搜排行榜信息爬取分析_爬虫_06

四, 保存数据

import pandas as pd
    df=pd.DataFrame(results)
    df.to_excel("某站数据01.xlsx",index=False)

Python爬虫以及数据可视化分析之某站热搜排行榜信息爬取分析_python_07

]

pyecharts进行可视化

爬虫到这里就结束了,接下来,我们就通过pyecharts进行可视化吧

先进行数据读取

import pandas as pd
data=pd.read_excel("./B站.xlsx")
print(data)

“某站”数据排名前10视频类型

from pyecharts.charts import Bar
from pyecharts import options as opts
bar = (Bar()
       .add_xaxis(sp_data)
       .add_yaxis('',sl_data)
        .set_global_opts(title_opts=opts.TitleOpts(title="B站数据排名前10视频类型"),xaxis_opts=opts.AxisOpts(name_rotate=0,name="品牌名",axislabel_opts={"rotate":60}))

        )
bar.render_notebook()

Python爬虫以及数据可视化分析之某站热搜排行榜信息爬取分析_python_08

from pyecharts.charts import Bar
from pyecharts import options as opts
bar = (Bar()
       .add_xaxis(sp_data)
       .add_yaxis('',sl_data)
       .reversal_axis()
        .set_global_opts(title_opts=opts.TitleOpts(title="B站数据排名前10视频类型"),xaxis_opts=opts.AxisOpts(name_rotate=0,name="品牌名",axislabel_opts={"rotate":60}))

        )
bar.render_notebook()

Python爬虫以及数据可视化分析之某站热搜排行榜信息爬取分析_爬虫_09

“某站”标题标签可视化

from pyecharts import options as opts
from pyecharts.charts import Page, WordCloud
from pyecharts.globals import SymbolType
def wordcloud_base() -> WordCloud:
    c = (
        WordCloud()
        .add("", most_common_words, word_size_range=[20, 100])
        .set_global_opts(title_opts=opts.TitleOpts(title="B站标题标签可视化"))
    )
    return c

wd = wordcloud_base()
wd.render_notebook()

Python爬虫以及数据可视化分析之某站热搜排行榜信息爬取分析_数据分析_10

“某站”喜欢视频分类概况

from pyecharts.charts import Line
line = (Line()
       .add_xaxis(rea)
       .add_yaxis('',res)
        .set_global_opts(title_opts=opts.TitleOpts(title="B站喜欢视频分类概况", subtitle="喜欢数"),xaxis_opts=opts.AxisOpts(name_rotate=0,name="分类",axislabel_opts={"rotate":60}))

        )
line.render_notebook()

Python爬虫以及数据可视化分析之某站热搜排行榜信息爬取分析_爬虫_11

总结

这些就是我们通过python爬虫爬取下来的数据,进行可视化的一个分析,你可以通过图看出什么效果呢。除了这些可视图可以单个放,我们也可以把这些图进行合并,变成我们传说中的大屏.

代码如下:

page = Page(layout=Page.DraggablePageLayout)

# 在页面中添加图表
page.add(
   bar2_world(),
   bar1_world(),
   line1_world(),
   wordcloud_base(),
    
)
page.render('test1.html')

Python爬虫以及数据可视化分析之某站热搜排行榜信息爬取分析_数据分析_12

想要源码的同学,可以后台私信我一下哈


标签:pyecharts,title,Python,某站,爬虫,爬取,import,data,opts
From: https://blog.51cto.com/u_15453202/6323755

相关文章

  • Python学习
    3-13字符串类型字符串类型:str   1.定义格式:       变量='内容'           打印一行       变量="内容"           打印一行       变量='''内容'''或者三引号           可以通过回车的方式换行,且打印出......
  • Python自动化运维
    2-27在命令行窗口中启动的Python解释器中实现在Python自带的IDLE中实现print("Helloworld")编码规范每个import语句只导入一个模块,尽量避免一次导入多个模块不要在行尾添加分号“:”,也不要用分号将两条命令放在同一行建议每行不超过80个字符使用必要的空行可以增加代码的可读性运......
  • 日本原生IP对于日本网站爬取的作用
    现在拓展国外业务非常热门,而日本作为隔壁“富得早”的邻居,坐拥了庞大的市场,自然而然受到了我国企业家的关注。而秉持着“不打无准备的仗”这一原则,大多数国内企业进军日本市场之前,都会用各种方式获取日本市场的各种讯息。而日本原生IP就是获得情报的保障。下面我们来聊一聊日本原生......
  • python 基本数据类型以及内置方法(有这一篇就够了)
    一、数据类型介绍在Python中,数据类型是区分数据的种类和存储方式的标识符。它定义了数据的取值范围、占用空间大小、可操作特性等。Python中常见的数据类型包括数字、字符串、列表、元组、集合和字典等。数据类型在编程中的作用主要有以下几个方面:内存空间的管理:不同的数据......
  • python的守护线程(简介、作用及代码实例)
    转载:(14条消息)python的守护线程(简介、作用及代码实例)_python守护线程的作用_HXH.py的博客-CSDN博客python守护线程简介守护线程的理解:如果当前python线程是守护线程,那么意味着这个线程是“不重要”的,“不重要”意味着如果他的主进程结束了但该守护线程没有运行完,守护进程就会被......
  • 机器学习数据顺序随机打乱:Python实现
      本文介绍基于Python语言,实现机器学习、深度学习等模型训练时,数据集打乱的具体操作。1为什么要打乱数据集  在机器学习中,如果不进行数据集的打乱,则可能导致模型在训练过程中出现具有“偏见”的情况,降低其泛化能力,从而降低训练精度。例如,如果我们做深度学习的分类,其中初始......
  • 美国住宅IP和网络爬虫
    阿麦瑞肯是当今蓝星上最强大的国家没有之一,其文化软实力也凌驾他国之上。作为对手,我们要学习的东西很多。网络爬虫可以帮助我们爬取美国网站上的讯息,了解美国民众的喜好,洞悉中美之间的差别与差距,获得更多的商业机会以及更好地提升自己。但是,反爬虫技术也不容小觑,很多传统的工具无法......
  • python 办公常用一:从文本文件中提取手机号码
    python办公常用一、从文本文件中提取手机号码给定一个文本文件从中提取所有手机号码importredefmain():withopen(path,encoding="utf-8")asf:data=f.read()res=re.findall(r'(?:13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-3......
  • Python 4-05 sys
    syssys模块主要是针对与Python解释器相关的变量和方法,不是主机操作系统。导入方式:importsys属性及方法使用说明sys.argv获取命令行参数列表,第一个元素是程序本身sys.exit(n)退出Python程序,exit(0)表示正常退出。当参数非0时,会引发一个SystemExit异常,可以在程序中捕获该异......
  • Python 4-07 jieba
    https://github.com/felinx/jieba"结巴"中文分词一、jiebaclassTokenizer(object):#分词器defcut(self,sentence,cut_all=False,HMM=True,use_paddle=False):"""Themainfunctionthatsegmentsanentiresentencethatconta......