python苦短-灵笼说啥
时间:2022-07-25
本文章向大家介绍python苦短-灵笼说啥,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
灵笼的弹幕在说些啥
概述
《灵笼》艺画开天生产,B站独播,国漫里面制作算是精良,但是剧情有太多瑕疵。评论两极分化,好的说非常好,差的说非常差。看看弹幕说的啥吧
思路
- 通过爬虫爬取弹幕
- 通过jieba分词对弹幕进行分词
- 通过wordcloud绘制词云
用到的库
- csv 用于csv文件的编写
- request 用于请求网址
- re 正则库用于提取html中的字母信息
- jieba 用于汉字的分词
- wordcloud 用于词云绘制
代码思路来自B站python学习者
代码
# 爬取数据
import csv
# 数据请求库
import requests
# 正则表达式
import re
# 分词
import jieba
# 词云
import wordcloud
# 1.定位url
url='https://api.bilibili.com/x/v2/dm/history?type=1&oid=129528808&date=2020-08-28'
# 2.模拟登陆
# 设置h请求头防止反扒拦截
# 因为b站是登录后查看弹幕,因此这里需要加入自己电脑的cookie
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0',
"Cookie":"_uuid=445F64D3-1530-41CF-09EC-C6029EF29EA659147infoc; buvid3=54281361-1A51-46A7-838B-7FB1214C81B953936infoc; CURRENT_FNVAL=16; LIVE_BUVID=AUTO9915845422486102; rpdid=|(u)~mYY~u0J'ul)RlRkkR); sid=4y1wx1oi; DedeUserID=229593267; DedeUserID__ckMd5=72ee797eb51fb8c3; SESSDATA=b7620543%2C1600240037%2Cd737d*31; bili_jct=03269466eb702a213723a0585db59cbe; bp_t_offset_229593267=428995725967649604; CURRENT_QUALITY=80; PVID=1; _ga=GA1.2.1605929815.1586006097; bp_video_offset_229593267=428995725967649604; blackside_state=1; bfe_id=fdfaf33a01b88dd4692ca80f00c2de7f"
}
# 请求数据
resp = requests.get(url,headers=headers)
# 解码数据,防止乱码
html=resp.content.decode('utf-8')
# 3.解析网页提取字幕
# 通过正则表达式,对返回html中的弹幕提取
res=re.compile('<d.*?>(.*?)</d>')
danmu=re.findall(res,html)
# 4.保存数据
for i in danmu:
with open (r'D:360MoveDataUserscmusunqiDocumentsGitHubR_and_pythonpython词云和爬虫弹幕.csv','a',newline='',encoding='utf-8') as f:
writer=csv.writer(f)
danmu=[]
danmu.append(i)
writer.writerow(danmu)
# 词云绘制============================================================
# 读取保存的csv文件
f = open (r'D:360MoveDataUserscmusunqiDocumentsGitHubR_and_pythonpython词云和爬虫弹幕.csv',encoding='utf-8')
txt=f.read()
# jieba分词
txt_list=jieba.lcut(txt)
# 将分词后的列表通过空格连接
string=' '.join(txt_list)
# 绘制词云,内置参数需查看官方代码
w=wordcloud.WordCloud(
width=1000,
height=700,
background_color='white',
font_path="msyh.ttc",
scale=15,
stopwords={" "},
contour_width=5,
contour_color='red'
)
# 导出图片为png
w.generate(string)
w.to_file(r'D:360MoveDataUserscmusunqiDocumentsGitHubR_and_pythonpython词云和爬虫ciyun.png')
结果
绘制的词云最大的字和是害怕和猝不及防,你害怕还看个P呦。
结束语
love&peace
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 并发编程框架Disruptor之高性能设计
- 3分钟短文:Laravel说要用软删除,可不要真删
- leetcode队列之设计循环双端队列
- MySQL8.0的binlog详解
- Flutter NestedScrollView实现的一个经典滑动折叠头部图片的效果
- Maven 编译拷贝资源的时候提示 UTF-8 编码信息
- Qt音视频开发30-Onvif事件订阅
- 干掉 Navicat:正版,MySQL 官方客户端真香!
- CentOS 搭建 K8S 环境教程,一次性成功,收藏了!
- IDEA 真香!找出全部未被使用的代码只用了 2 秒钟!
- ArrayList 插入 1000w 条数据之后,我怀疑了 Java 虚拟机。。。
- 本地存储应用案例 ToDoList
- jQuery 插件
- 本周AI热点回顾:RTX3080被黄牛炒上天;百度资本助力AI 制药,已有十几位博士加入;百度联手打造AI沉浸互动展中国首秀
- 线段树