0 引言

纸巾再湿也是干垃圾?瓜子皮再干也是湿垃圾??最近大家都被垃圾分类折磨的不行,傻傻的你是否拎得清????自2019.07.01开始,上海已率先实施垃圾分类制度,违反规定的还会面临罚款。

为了避免巨额损失,我决定来b站学习下垃圾分类的技巧。为什么要来b站,听说这可是当下年轻人最流行的学习途径之一。

打开b站,搜索了下垃圾分类,上来就被这个标题吓(吸)到(引)了:在上海丢人的正确姿势。

当然,这里的丢人非彼丢人,指的是丢垃圾的丢。

点开发现,原来是一段对口相声啊,还是两个萌妹子(AI)的对口相声,瞬间就来了兴趣,阐述的是关于如何进行垃圾分类的。



原视频链接:https://www.bilibili.com/video/av57129646?from=search&seid=9101123388170190749

看完一遍又一遍,简直停不下来了,已经开启了洗脑模式,毕竟视频很好玩,视频中的弹幕更是好玩!

独乐乐不如众乐乐,且不如用Python把弹幕保存下来,做个词云图?就这么愉快地决定了!

1 环境

操作系统:Windows

Python版本:3.7.3

2 需求分析

我们先需要通过开发调试工具,查询这条视频的弹幕的 cid 数据。

http://comment.bilibili.com/{cid}.xml

打开之后,就可以看到该视频的弹幕列表。

有了弹幕数据后,我们需要先将解析好,并保存在本地,方便进一步的加工处理,如制成词云图进行展示。

3 代码实现

在这里,我们获取网页的请求使用 requests 模块;解析网址借助 beautifulsoup4 模块;保存为CSV数据,这里借用 pandas 模块。因为都是第三方模块,如环境中没有可以使用 pip 进行安装。

pip install requests
pip install beautifulsoup4
pip install lxml
pip install pandas

模块安装好之后,进行导入

import requests
from bs4 import BeautifulSoup
import pandas as pd

请求、解析、保存弹幕数据

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,
群里还有不错的视频学习教程和PDF电子书!
'''
# 请求弹幕数据
url = 'http://comment.bilibili.com/99768393.xml'
html = requests.get(url).content# 解析弹幕数据
html_data = str(html, 'utf-8')
bs4 = BeautifulSoup(html_data, 'lxml')
results = bs4.find_all('d')
comments = [comment.text for comment in results]
comments_dict = {'comments': comments}# 将弹幕数据保存在本地
br = pd.DataFrame(comments_dict)
br.to_csv('barrage.csv', encoding='utf-8')

接下来,我们就对保存好的弹幕数据进行深加工。

制作词云,我们需要用到 wordcloud 模块、matplotlib 模块、jieba 模块,同样都是第三方模块,直接用 pip 进行安装。

pip install wordcloud
pip install matplotlib
pip install jieba

模块安装好之后,进行导入,因为我们读取文件用到了 panda 模块,所以一并导入即可

from wordcloud import WordCloud, ImageColorGenerator
import matplotlib.pyplot as plt
import pandas as pd
import jieba

我们可以自行选择一张图片,并基于此图片来生成一张定制的词云图。我们可以自定义一些词云样式,代码如下:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,
群里还有不错的视频学习教程和PDF电子书!
'''
# 解析背景图片
mask_img = plt.imread('Bulb.jpg')'''设置词云样式'''
wc = WordCloud(# 设置字体  font_path='SIMYOU.TTF',# 允许最大词汇量max_words = 2000,# 设置最大号字体大小max_font_size = 80,# 设置使用的背景图片mask = mask_img,# 设置输出的图片背景色background_color=None, mode="RGBA",# 设置有多少种随机生成状态,即有多少种配色方案random_state=30)

接下来,我们要读取文本信息(弹幕数据),进行分词并连接起来:

# 读取文件内容
br = pd.read_csv('barrage.csv', header=None)# 进行分词,并用空格连起来
text = ''
for line in br[1]:text += ' '.join(jieba.cut(line, cut_all=False))

最后来看看我们效果图

用Python做垃圾分类相关推荐

  1. 用Python做垃圾分类代码

    # 循环 while True: # 系统名称print('~~~~~~~~~垃圾分类查询系统~~~~~~~~~') # 输入a = input('输入你要查询的垃圾(结束请输入'结束'):') # ...

  2. Python做文本挖掘的情感极性分析

    Python做文本挖掘的情感极性分析 数据挖掘入门与实战2017-03-23 21:25:41line阅读(27)评论(0) 声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本 ...

  3. 肝了一夜,我用Python做了一个垃圾分类器!

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今日鸡汤曲罢曾教善才服,妆成每被秋娘妒. 自201 ...

  4. 如何用Python做Web开发?——Django环境配置

    用Python做Web开发,Django框架是个非常好的起点.如何从零开始,配置好Django开发环境呢?本文带你一步步无痛上手. 概念 最近有个词儿很流行,叫做"全栈"(full ...

  5. 如何用Python做三阶拼图?

    作者 | Ahab 来源 | Ahab杂货铺(ID:AhabBin) 今天是年假的最后一天,明天大家就要回到各自的工作岗位上去,公众号从今天开始恢复更新.不知道大家假期过得怎么样,帅张提到假期多关注一 ...

  6. 来自程序员的福利!用Python做一款翻译软件

    来源 | Ahab杂货铺(ID:PythonLearningCamp) 前两天吃了平哥的一波狗粮,他给女朋友写了一个翻译软件,自己真真切切的感受到了程序员的浪漫.在学习requests请求的时候做过类 ...

  7. 美观实用!Star 过万,用 Python 做交互式图形的这款工具火了!

    点击上方"Datawhale",选择"星标"公众号 第一时间获取价值内容 转自量子位,作者乾明 GitHub 上,一份用 Python 做交互式图形的资源火了. ...

  8. python能做出什么样的网站_我能用Python做什么?

    如果你想学Python,或者你刚开始学习Python,那么你可能会问:"我能用Python做什么?" 这个问题不好回答,因为Python有很多用途. 但是随着时间,我发现有Pyth ...

  9. 用python写搜索引擎_用python做一个搜索引擎(Pylucene)的实例代码

    1.什么是搜索引擎? 搜索引擎是"对网络信息资源进行搜集整理并提供信息查询服务的系统,包括信息搜集.信息整理和用户查询三部分".如图1是搜索引擎的一般结构,信息搜集模块从网络采集信 ...

最新文章

  1. c#如何将多个json合并_合并两个c#对象(json)列表作为父级子级
  2. c语言中c为字符型便量,c='97'是否正确,C语言判断题Word版
  3. maven 设置打包路径为模块_4、Jenkins持续集成之maven编译
  4. 第五章 常用Lua开发库1-redis、mysql、http客户端
  5. easyExcel 使用指南详解
  6. android wifi 连不上手机助手,usb调试断断续续的很烦?试试adb wifi调试
  7. C#编写程序操作数据库如何防止SQL注入漏洞的发生
  8. 用Office2010做博客园客户端
  9. 当电脑连接网络的地方显示“查找不到任何网络”解决方案
  10. Win7-旗舰版-连接共享打印机时,报 0x00000bcb 错误
  11. 安卓扫码枪开发,拦截扫码事件
  12. 数据库系统概念笔记——第4章 中级SQL
  13. 算法-“许三多”方法
  14. spring配置bean
  15. 计算机无法启用媒体流,win7开启媒体流功能提示“媒体流已被管理员定义的组策略禁用”如何解决...
  16. 要买车了,写的我的经历。
  17. java类索引_java中索引的分类,图片详解
  18. 单元测试 chapter3
  19. 微信店铺怎么开通【微信开店】
  20. 大容量电池充放电管理模块MOSFET选型及应用

热门文章

  1. HttpClient接口Post方式
  2. session过期跳转登录页面
  3. 标准评分卡分数计算原理_评分卡模型监控(前端分析)
  4. unity加载sprite_Unity 分离贴图 alpha 通道实践
  5. python 检测exe是否未响应_第002篇:Python的安装
  6. 【PP】重复生产参数文件说明
  7. 【学习笔记】16、常用内置函数(Built-in Functions)
  8. 【重复制造精讲】定义重复制造参数文件
  9. 物料管理的容差范围维护
  10. smartforms不输出0