前言

本次爬取的视频av号为75993929(11月21的b站榜首),讲的是关于动漫革命机,这是一部超魔幻现实主义动漫(滑稽),有兴趣的可以亲身去感受一下这部魔幻大作。


准备工作


代码

import requests
from pyquery import PyQuery as pq
import jieba
import pandas as pd
# 通过时间来获取弹幕信息需要登陆才行,所以带上登陆后的cookie。否则只能获取当日的一千条弹幕
headers={
"放入cookie"
}
word = [] def getInfo(date):
response = requests.get("https://api.bilibili.com/x/v2/dm/history?type=1&oid=129995312&date=2019-11-"+str(date), headers=headers)
# 解决中文乱码问题
response.encoding = response.apparent_encoding
doc = pq(response.content)
# 获取所有的d标签
result = doc("d")
for line in result:
word.append(line.text) # 将弹幕信息保存到csv文件中去
def savaFile():
sr = pd.Series(word)
sr.to_csv("评革命机B站弹幕.csv", encoding='utf-8', index=None) # 利用jieba库对弹幕内容进行分词
def seperate():
data = pd.read_csv(open("评革命机B站弹幕.csv", encoding='utf-8'))
# 传入自定义的字典,毕竟b站玩梗玩到飞起
jieba.load_userdict('dict.txt')
strs = ""
for i in data.values:
strs += "".join(i[0])
l = jieba.cut(strs, cut_all=True)
res = '/'.join(l)
# 保存到文件中去
with open("word.txt", 'w', encoding='utf-8') as f:
f.write(res) # 分析词语出现的频率
def analyse():
res = set()
def dropNa(s):
return s and s.strip()
data = open("word.txt", encoding='utf-8').read()
data = data.split('/')
newdata = []
for i in data:
# 去除掉一些无用的
if '哈' in i or len(i) == 1 or '嘿' in i:
continue
newdata.append(i)
data = newdata
# 去除空串
data = list(filter(dropNa, data))
df = pd.Series(data)
# 统计出现频率同时写入文件中
df.value_counts().to_csv("弹幕TOP.csv") for i in range(18, 22):
getInfo(i)
savaFile()
seperate()
analyse()

结果展示

大河内老师不愧是早稻田大学人类科学系的毕业的

这些弹幕突然就有内味了



预知为何弹幕会呈现这种情况,详情请见这部动画曾因不切实际被人嘲讽,但6年后现实却打了所有人的脸! 【革命机】


存在的问题

  • jieba分词的效果其实不太理想,希望未来能够找到改进方法。
  • 本来想做成词云的,但是效果也不佳,待改进。

B站弹幕爬取 / jieba分词 - 全站第一的视频弹幕都在说什么?的更多相关文章

  1. python预课05 爬虫初步学习+jieba分词+词云库+哔哩哔哩弹幕爬取示例(数据分析pandas)

    结巴分词 import jieba """ pip install jieba 1.精确模式 2.全模式 3.搜索引擎模式 """ txt ...

  2. B站弹幕爬取

    B站弹幕爬取 单个视频弹幕的爬取 ​ B站弹幕都是以xml文件的形式存在的,而xml文件的请求地址是如下形式: http://comment.bilibili.com/233182992.xml ​ ...

  3. Java爬虫——B站弹幕爬取

    如何通过B站视频AV号找到弹幕对应的xml文件号 首先爬取视频网页,将对应视频网页源码获得 就可以找到该视频的av号aid=8678034 还有弹幕序号,cid=14295428 弹幕存放位置为  h ...

  4. quotes 整站数据爬取存mongo

    安装完成scrapy后爬取部分信息已经不能满足躁动的心了,那么试试http://quotes.toscrape.com/整站数据爬取 第一部分 项目创建 1.进入到存储项目的文件夹,执行指令 scra ...

  5. Scrapy+selenium爬取简书全站

    Scrapy+selenium爬取简书全站 环境 Ubuntu 18.04 Python 3.8 Scrapy 2.1 爬取内容 文字标题 作者 作者头像 发布日期 内容 文章连接 文章ID 思路 分 ...

  6. Python爬取B站耗子尾汁、不讲武德出处的视频弹幕

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 前言 耗子喂汁是什么意思什么梗呢?可能很多人不知道,这个梗是出自马保国,经常上网的人可能听说过这个 ...

  7. bilibili弹幕爬取与比对分析

    最近受人之托研究了下b站的数据爬取做个小工具,最后朋友说不需要了,本着开源共享的原则,将研究成果与大家分享一波,话不多说直接上干货 需求分析 给定up主uid和用户uid,爬取用户在该up主所有视频中 ...

  8. B站自动爬取器并制作词云

    效果 词云展示 弹幕展示 爬取弹幕过程 基本步骤 1.寻找视频url 2.构造请求头 3.寻找弹幕地址 4.根据弹幕地址运用正则或xpath爬取 寻找B站视频的url 制作请求头 headers = ...

  9. Scrapy:腾讯招聘整站数据爬取

    项目地址:https://hr.tencent.com/ 步骤一.分析网站结构和待爬取内容 以下省略一万字 步骤二.上代码(不能略了) 1.配置items.py import scrapy class ...

随机推荐

  1. docker进阶之路-基础篇 | 一:环境搭建

    转载请注明作者及出处: 作者:银河架构师 原文链接:https://www.cnblogs.com/luas/p/12061747.html 一.准备工作 查看内核 Docker 要求 CentOS ...

  2. StringBuilder、StringBuffer和StringJoiner

    StringBuilder是可变对象,用来高效拼接字符串: StringBuilder可以支持链式操作,实现链式操作的关键是返回实例本身: StringBuffer是StringBuilder的线程安 ...

  3. lnmp1.2支持ThinkPhp pathinfo及rewrite

    一.pathinfo支持方法 1.2版本系统已经自动生成了一个pathinfo的配置文件,但实测不可用,所以我们先找打这个文件并修改其内容,文件路径为:/usr/local/nginx/pathinf ...

  4. express 中间件的简单应用与实现

    express 中间件的简单应用与实现 看了慕课网双越老师的课之后结合自己的理解做了一些简单的总结,如有不恰当之处,欢迎指正. 提到 express 就不得不提到中间件,接下来就简单的介绍一下 exp ...

  5. 初学Swoole:PHP7安装Swoole的步骤

    本篇文章给大家带来的内容是关于初学Swoole:PHP7安装Swoole的步骤,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 环境 这里不在使用apache做为web server. ...

  6. Tomcat系列(二)- EndPoint源码解析

    在上一节中我们描述了Tomcat的整体架构, 我们知道了Tomcat分为两个大组件,一个连接器和一个容器. 而我们这次要讲的 EndPoint的组件就是属于连接器里面的. 它是一个通信的端点,就是负责 ...

  7. 使用react-app-rewired和customize-cra对默认webpack自定义配置

    最近在学习react框架,之前一直都是用vue 开发,知道在vue 中知道如何配置一下相关的webpack 有助于开发,学react 过程中,我也在想这些该怎么配置啊,所以就有这篇文章. 这篇文章主要 ...

  8. sessionstorage中存储JSON数据

    在web开发时,可能经常会用到sessionstorage存储数据,存储单个字符串数据变量时并不困难 var str = 'This is a string'; sessionstorage.setI ...

  9. 软件开发工具(第13章: Eclipse插件的使用与开发)

    一.插件简介 插件的定义(了解) 插件是一种遵循其所依附的软件的接口规范所编写出来的程序. 插件实际上是对原有软件的扩展,替应用程序增加一些所需要的特定 功能. 插件的构成(重点.记忆) 每个插件都由 ...

  10. 百度大脑UNIT3.0详解之知识图谱与对话

    如今,越来越多的企业想要在电商客服.法律顾问等领域做一套包含行业知识的智能对话系统,而行业或领域知识的积累.构建.抽取等工作对于企业来说是个不小的难题,百度大脑UNIT3.0推出「我的知识」版块专门为 ...