前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python苦短-灵笼说啥

python苦短-灵笼说啥

作者头像
火星娃统计
发布2020-09-15 15:52:47
4550
发布2020-09-15 15:52:47
举报
文章被收录于专栏:火星娃统计火星娃统计

灵笼的弹幕在说些啥

概述

《灵笼》艺画开天生产,B站独播,国漫里面制作算是精良,但是剧情有太多瑕疵。评论两极分化,好的说非常好,差的说非常差。看看弹幕说的啥吧

思路

  1. 通过爬虫爬取弹幕
  2. 通过jieba分词对弹幕进行分词
  3. 通过wordcloud绘制词云

用到的库

  • csv 用于csv文件的编写
  • request 用于请求网址
  • re 正则库用于提取html中的字母信息
  • jieba 用于汉字的分词
  • wordcloud 用于词云绘制

代码思路来自B站python学习者

代码

代码语言:javascript
复制
# 爬取数据
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:\360MoveData\Users\cmusunqi\Documents\GitHub\R_and_python\python\词云和爬虫\弹幕.csv','a',newline='',encoding='utf-8') as f:
        writer=csv.writer(f)
        danmu=[]
        danmu.append(i)
        writer.writerow(danmu)

# 词云绘制============================================================
# 读取保存的csv文件
f = open (r'D:\360MoveData\Users\cmusunqi\Documents\GitHub\R_and_python\python\词云和爬虫\弹幕.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:\360MoveData\Users\cmusunqi\Documents\GitHub\R_and_python\python\词云和爬虫\ciyun.png')

结果

绘制的词云最大的字和是害怕和猝不及防,你害怕还看个P呦。

结束语

love&peace

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 火星娃统计 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 灵笼的弹幕在说些啥
    • 概述
      • 代码
        • 结果
          • 结束语
          相关产品与服务
          文件存储
          文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档