python垃圾分类图像识别算法_震惊!垃圾分类居然能用Python搞定

850a5c700c01f68c4201b2deed80ec17.png

目录

0 引言

1 环境

2 需求分析

3 代码实现

4 后记

0 引言

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

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

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

2233554a9fe8f710c8f448a569c211c8.png

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

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

a61ffefbd1a8790ea9f3b5ad6abee76a.png
b62e94640332f5e8aa7832173eacb430.png
b65d2ef306f1fefd0c430150ca56cf22.png

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

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

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

1 环境

操作系统:Windows

Python版本:3.7.3

2 需求分析

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

fcaf43bb3a0bdef1baff4a61deb7ab38.png

拿到 cid 之后,再填入下面的链接中。

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

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

01b455aebd623607236185533c159b7f.png

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

3 代码实现

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

pip install requestspip install beautifulsoup4pip install lxmlpip install pandas

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

import requestsfrom bs4 import BeautifulSoupimport pandas as pd

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

# 请求弹幕数据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 wordcloudpip install matplotlibpip install jieba

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

from wordcloud import WordCloud, ImageColorGeneratorimport matplotlib.pyplot as pltimport pandas as pdimport jieba

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

# 解析背景图片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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值