Python爬虫以及数据可视化分析(最新B站番剧排行榜数据)
本博客将会对B站番剧排行榜的数据进行信息爬取以及数据可视化分析,适应最新的B站网页结构
参考大佬:https://blog.csdn.net/Jacompol/article/details/111692298
网页结构:
直接上代码,代码注释有步骤解释!
import requests
from bs4 import BeautifulSoup
import re
import pandas
import matplotlib.pyplot as plt
import matplotlib.font_manager
# 1、获取网页内容
def get_html(url):try:request = requests.get(url) # 使用get来获取网页数据request.raise_for_status() # 如果返回参数不为200,抛出异常request.encoding = request.apparent_encoding # 获取网页编码方式return request.text # 返回获取的内容except:return '错误'#2、信息解析存储
def save(html):soup = BeautifulSoup(html,'html.parser')# 定义好相关列表准备存储相关信息name = [] # 动漫名字play= [] # 播放量favorite= [] # 收藏数#动漫名字存储for tag in soup.find_all('div', class_='info'):# print(tag)bf = tag.a.stringname.append(str(bf))print(name)#播放量存储for tag in soup.find_all('div', class_='detail-state'):# print(tag)bf = tag.find('span', class_='data-box').get_text()# 统一单位为‘万’if '亿' in bf:num = float(re.search(r'\d(.\d)?', bf).group()) * 10000# print(num)bf = numelse:bf = re.search(r'\d*(\.)?\d', bf).group()play.append(float(bf))print(play)#收藏数for tag in soup.find_all('div', class_='detail-state'):sc = tag.find('span', class_='data-box').next_sibling.next_sibling.get_text()sc = re.search(r'\d*(\.)?\d', sc).group()favorite.append(float(sc))print(favorite)# 存储至excel表格中info = {'动漫名': name, '播放量(万)': play, '收藏数(万)': favorite}dm_file = pandas.DataFrame(info)dm_file.to_excel('Data.xlsx', sheet_name="动漫数据分析")# 将所有列表返回return name, play, favorite
#3、数据可视化分析
def view(info):#取出列表数据dm_name = info[0] # 番剧名dm_play = info[1] # 番剧播放量dm_favorite = info[2] # 番剧收藏数#使图上的数据可以显示中文plt.rcParams['font.sans-serif'] = ['SimHei']plt.rcParams['axes.unicode_minus'] = False#播放量柱形图,收藏数折线图fig, ax1 = plt.subplots()plt.bar(dm_name, dm_play, color='red') #设置柱状图plt.title('番剧播放量与收藏数的数据分析') # 表标题ax1.tick_params(labelsize=6)plt.xlabel('番剧名') # 横轴名plt.ylabel('播放量') # 纵轴名plt.xticks(rotation=90, color='#7b68ee') # 设置横坐标变量名旋转度数和颜色#组合图必须加这个ax2 = ax1.twinx()ax2.plot(dm_favorite, color='yellow') # 设置线粗细,节点样式plt.ylabel('收藏数(万)')plt.plot(1, label='收藏数', color="yellow", linewidth=1.0, linestyle="-")plt.plot(1, label='播放量', color="red", linewidth=5.0) # 图例plt.legend()plt.show()def main():# 网址url = 'https://www.bilibili.com/v/popular/rank/bangumi'# 获取返回值html = get_html(url)print(html)info = save(html)view(info)
if __name__ == '__main__':main()
success!
Python爬虫以及数据可视化分析(最新B站番剧排行榜数据)相关推荐
- Python爬虫以及数据可视化分析之某站热搜排行榜信息爬取分析
目录 前言 一,确定目标 二,发送请求 三, 解析数据 四, 保存数据 pyecharts进行可视化 "某站"数据排名前10视频类型 "某站"标题标签可视化 & ...
- 数据可视化分析案例:探索BRFSS电话调查数据
原文链接:http://tecdat.cn/?p=9284 加载包 library(tidyr) library(knitr) opts_chunk$set(echo = TRUE, fig.alig ...
- python爬虫,2020年《财富》中国500强排行榜数据爬取源码
一个简单的demo,python爬虫,其实是以前的存货,很久很久没有写爬虫了,渣渣更渣了啊! 爬取财富中文网,2020年<财富>中国500强排行榜相关数据,数据都在网页源码里,结构也比较清 ...
- 爬虫练习四:爬取b站番剧字幕
由于个人经常在空闲时间在b站看些小视频欢乐一下,这次就想到了爬取b站视频的弹幕. 这里就以番剧<我的妹妹不可能那么可爱>第一季为例,抓取这一番剧每一话对应的弹幕. 1. 分析页面 这部番剧 ...
- Python爬虫以及数据可视化分析!
简单几步,通过Python对B站番剧排行数据进行爬取,并进行可视化分析 源码文件可以参考Github上传的项目:https://github.com/Lemon-Sheep/Py/tree/maste ...
- python爬虫可视化excel_Python爬虫以及数据可视化分析!
简单几步,通过Python对B站番剧排行数据进行爬取,并进行可视化分析 下面,我们开始吧! PS: 作为Python爬虫初学者,如有不正确的地方,望各路大神不吝赐教[抱拳] 本项目将会对B站番剧排行的 ...
- Python爬虫以及数据可视化分析
Python爬虫以及数据可视化分析之Bilibili动漫排行榜信息爬取分析 简书地址:https://www.jianshu.com/u/40ac87350697 简单几步,通过Python对B站番剧 ...
- Python爬虫以及数据可视化分析!这才是零基础入门案例!
简单几步,通过Python对B站番剧排行数据进行爬取,并进行可视化分析 下面,我们开始吧! PS: 作为Python爬虫初学者,如有不正确的地方,望各路大神不吝赐教[抱拳] 本项目将会对B站番剧排行的 ...
- 基于Python的南京二手房数据可视化分析
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...
最新文章
- 浏览器保存密码后自动填充问题
- es存在某个字段的查阅_ElasticSearch系列02:ES基础概念详解
- mongodb 监控权限_运维监控产品分析篇
- Java基础学习-Path环境变量的配置
- 浅析 Go IO 的知识框架
- Safari 快捷键
- 激战2:逐火之路-概念艺术设计
- 白事碰上红事,徐渭应景吟诗
- Unity3D水下动物模型大集合
- Idea设置字体大小
- Iptables-外网地址及端口映射到内网地址及端口
- 2016年全国房价会呈什么趋势?
- 宁录哨兵机器人_能团灭X战警的哨兵机器人是漫威最强机器人吗?奥创:我不服!...
- 汇编基础2:看懂汇编
- 公司邮箱如何注册?免费公司邮箱域名如何注册?
- C++友元和友元函数
- Linux内存占用过高排查过程
- 阿里 java 开发手册
- golangci-lint 自定义linter核心代码 用于检查错误使用gtime.Time.Format() 例如gtime.Time.Format(“2006-01-02 15:04:05“)
- 如何找到一个应用的源代码
热门文章
- Java IO 之 FileReader 读取文件打印在控制台(处理汉字乱码bug)
- SCSI PRs命令研究总结1 - SCSI标准和架构
- Android应用开发的学习
- 采用for循环结构遍历系列(squence)
- 360快视频回应侵权B站;朱啸虎猛批ICO;加拿大用Model X当警车丨价值早报
- 计算机系统结构自考大纲,2013自考《计算机系统结构》课程大纲说明
- arcgis 线要素的标注(label)转成CAD文本的技巧
- python爬取前程无忧分析一波机械职位信息
- 标准C程序设计技能百炼
- 中移物联网onenet入门学习笔记2:中移物联的通信格式