Python爬取B站视频全部评论

Python:抓取 Bilibili(B站)评论、弹幕、字幕等 ​ 个人科研学习需求,需要获取一些 UGC(user generated content),包括 UP 的内容、弹幕、评论等。于是从 哔哩哔哩 (゜-゜)つロ 干杯~-bilibili抓取了一些数据,以下内容仅供学习参考。 阅读详情
AI摘要

本文介绍如何使用Python3爬取B站视频的全部评论,并将其保存为CSV文件。通过输入B站视频的Bvid号,程序会遍历所有评论并存储。注意,总评论数可能包括评论和回复,而此代码仅爬取评论部分。

Python3爬取B站视频全部评论

1.为什么有这篇文章

最近受朋友委托需要爬取B站视频下的评论作为他的分析数据,我上网查了很多相关教程和文章都没有爬取全部的评论,不能满足朋友的需求,只好自己动手,在此分享一下实现代码供大家学习交流。

2.相关代码

通过输入B站视频Bvid号,可以将视频下的评论全部保存到csv文件中。(说明一下:输出显示 总评论数 > 当前评论数,这并不是BUG,而是总评论数包含评论和回复,这里只是爬取了评论。)

import requests
import re
import time
import csv

#消息头信息
header={'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
        }

#获取评论API
original_url = 'https://api.bilibili.com/x/v2/reply/main?jsonp=jsonp&next={}&type=1&oid={}&mode=3'

#时间戳转换成日期
def get_time(ctime):
    timeArray = time.localtime(ctime)
    otherStyleTime = time.strftime("%Y.%m.%d", timeArray)
    return str(otherStyleTime)

#获取aid
def get_oid(bvid):
    video_url = 'https://www.bilibili.com/video/' + bvid
    page = requests.get(video_url, headers=header).text
    aid = re.search(r'"aid":[0-9]+', page).group()[6:]
    return aid

#边爬取评论边保存文件
def online_save(Bvid):
    all_count = 0
    oid = get_oid(Bvid)
    page = 1
    url = original_url.format(page, oid)
    html = requests.get(url, headers=header)
    data = html.json()
    count = int(data['data']['cursor']['all_count'])
    fname = Bvid + '_评论.csv'
    with open(fname, 'w+', newline='', encoding='utf_8_sig') as f:
        csv_writer=csv.writer(f)
        csv_writer.writerow(["时间", "点赞", "评论"])
        for i in data['data']['replies']:
            message=i['content']['message']
            message = re.sub('\s+', '', message)
            ctime=get_time(i['ctime'])
            like=i['like']
            csv_writer.writerow([ctime,str(like),message])
            all_count = all_count + 1
        print('总评论数:{},当前评论数:{},爬取Page{}完毕。'.format(count, all_count, page))
        time.sleep(5)
        while all_count < count:
            page += 1
            url = original_url.format(page, oid)
            try:
                html = requests.get(url, headers=header)
                data = html.json()
                for i in data['data']['replies']:
                    message = i['content']['message']
                    ctime = get_time(i['ctime'])
                    like = i['like']
                    csv_writer.writerow([ctime, str(like), message])
                    # f.write(ctime+'\t' + str(like) + '\n')
                    # f.write(message)
                    # f.write('\n------------------------\n')
                    all_count = all_count + 1
                print('总评论数:{},当前评论数:{},爬取Page{}完毕。'.format(count, all_count, page))
                time.sleep(5)
            except:
                break
        f.close()

if __name__=='__main__':
    Bvid=input('输入视频Bvid:')
    online_save(Bvid)
    print('完成!')



运行结果如下:

运行结果
爬取结果-csv文件

分享完毕,希望可以帮到有需要的朋友。

【Python】使用Python根据BV号爬取对应B站视频下的所有评论(包括评论下的回复) 【Pyton】使用Python根据BV号爬取对应B站视频下的所有评论(包括评论下的回复) 本文写于2020-4-27,当你阅读到本文的时候如果因为下列原因导致本文代码无法正常工作,本人概不负责。 B站的页面和API接口的变动 B站为页面和API加入了反爬虫机制,或者对请求首部有了新的要求 Python版本的变动和标准库的调整 BeautifulSoup4的变动 使用到的库 【第三方库】:Be... 阅读详情

相关推荐

python实现B站评论分页爬取

变化的参数为 Jt+wt,这里的wt为固定值。并且采取了md5加密的方式,分析可得Jt的值为en中内容的综合,en内容则为负载中的固定值。2.打开开发者工具,点击网络刷新界面,下滑页面数据让数据加载出来,随便选择一条评论复制,粘贴到开发工具中的搜索框中,找到对应的包。7.这里处理w_rid参数,在源码页面中搜索,w_rid参数,查看所处位置,进行断点检测。5.实现翻页爬取时,找到变化的对应参数。

weixin_51575130的博客 3605

python爬虫:Ajax异步爬取数据(b站评论区)

爬虫时遇到很多数据并不在访问网址的返回包里,而是随着用户下拉逐步加载的,也就是用到了Ajax,那么这时我们该如何爬取我们想要的数据呢?

qq_46145027的博客 4157

利用python做文本分析——以爬取B站视频弹幕评论为例

本篇文章主要运用了机器学习以及Python爬虫以及nlp以及lda主题分析相关的操作内容 本文主要展示实战分析相关内容,关于理论的相关介绍不做过多展开 机器学习根据我的个人理解就是建立相关的模型,利用已有的数据对模型进行相关的训练,不断的丰富模型的准确度和适用范围。从而更加有效高效的解决问题 Python爬虫是利用网页的url链接,使用Python的相关库对网页进行解析并抓取相关的内容,从而便于进一步的分析处理 NLP主题分析和lDA主题分析都是常用的文本分析的方法,通过这两种方法可以对文本所含

2301_82025787的博客 3354

利用python中的requests模块爬取B站评论

python爬虫 爬取B站评论

不为人知的博客 3378

python用selenium爬取b站评论并制作词云图

文章目录 前言 一、爬取b站评论 1.selenium配置 2.代码 二、制作词云图 1.下载停用词 2.代码 3.注意事项 三、制作成品 1.初期成品 2.成品 前言 b站视频下的评论是下拉加载的。要想爬取所有评论,要么找到加载评论的链接寻找其规律,要么下拉到低等待页面评论全部加载。我小白一个,找不出规律,用下拉这种笨办法。 要是评论太多,下拉要好久,于是上网发现有selenium可以模拟浏览器的各种行为。这个不仅要导入模块,还要下载浏览器驱动...

weixin_44946764的博客 2611

python爬b站评论_一个简单的爬取b站up下所有视频的所有评论信息的爬虫

心血来潮搞了一个简单的爬虫,主要是想知道某个人的b站账号,但是你知道,b站在搜索一个用户时,如果这个用户没有投过稿,是搜不到的,,,这时就只能想方法搞到对方的mid,,就是 space.bilibili.com/9444976 后面的那一串数字。偶然看到这个人关注了某个主播,,想到可能这个人会回复主播的视频,于是想着爬到所有up下的视频的评论对应的用户,这样我就可以在数据库里检索昵称得到mid,,...

weixin_39602737的博客 4601

【python爬取B站视频评论爬虫】一键获取视频下全部评论完整源代码

是中国知名的视频社区平台,以ACG(动画、漫画、游戏)内容起家,现已发展为涵盖多元文化的综合性视频网站。月活跃用户超3亿,日均使用时长约96分钟。拥有大量UP主(内容创作者),涵盖业余爱好者到专业机构。接下来我就介绍一下如爬取b站的某条视频下的全部评论。

weixin_73817187的博客 780

一个简单的爬取b站up下所有视频的所有评论信息的爬虫

心血来潮搞了一个简单的爬虫,主要是想知道某个人的b站账号,但是你知道,b站在搜索一个用户时,如果这个用户没有投过稿,是搜不到的,,,这时就只能想方法搞到对方的mid,,就是 space.bilibili.com/9444976 后面的那一串数字。偶然看到这个人关注了某个主播,,想到可能这个人会回复主播的视频,于是想着爬到所有up下的视频的评论对应的用户,这样我就可以在数据库里检索昵称得到mid,,...

31415926535x的博客 5642

bilibili视频爬取python_Bilibili 《后浪》短视频评论递归爬取极简教程

Bilibili 《后浪》短视频评论递归爬取极简教程背景短视频《后浪》这两天引起了很多网友的讨论,正负面皆有,但是我们必须用“科学地”眼光取看待问题,所以获取大量数据来支撑我们的分析是必要的,所以本次的探索主题就是获取Bilibili上《后浪》的全部评论数据。说明虽然现在爬虫教程真的很多,但是这次爬取Bilibili评论主要是介绍编程中递归处理数据手法的运用,所以还是有些意义的。环境准备编程语言:...

weixin_39736606的博客 626

Python实战项目2:b站评论采集

本文不对数据采集的过程做探讨,直接上代码。

lyccomcn的博客 3199

爬取大量哔哩哔哩评论的Python实现

在本文中,我们将探讨如何使用Python编写代码来爬取哔哩哔哩(Bilibili)视频的大量评论数据。这是一个简单的示例,用于演示如何使用Python爬取哔哩哔哩评论。你可以根据自己的需求进行修改和扩展,例如提取其他评论相关的信息,或者将数据存储到数据库或文件中。首先,我们导入了所需的库:requests用于发送HTTP请求,BeautifulSoup用于解析HTML页面内容。然后,我们使用一个循环遍历并输出每个评论的内容。的函数,它接受一个视频URL作为参数,并返回评论的列表。属性提取评论的文本内容。

DevForge的博客 720

【2023最新B站评论爬虫】用python爬取上千条哔哩哔哩评论

马哥原创:用python爬取哔哩哔哩的B站评论数据,单个视频可爬上万条。

马哥的专栏 1万+

python爬取B站up主全部视频封面

B站up主的点赞投币转发等信息,以及弹幕文件、评论文件等等都可以调用特定的API接口来获得。 python爬取B站弹幕、绘制词云等点击下方链接 https://blog.youkuaiyun.com/weixin_46530492/category_10174963.html 有很多简易的小程序或者网站可以获得某个视频的封面,但是如果想要一键提取所有的视频封面,最好还是通过写代码来爬取效果更好。 1.在同级目录创建一个名为image的文件夹 2.运行下面的代码 import requests import urllib

Cachel Wood的博客 860

Python 网络爬虫实战:爬取 B站《全职高手》20万条评论数据

本周我们的目标是:B站(哔哩哔哩弹幕网 https://www.bilibili.com )视频评论数据。 我们都知道,B站有很多号称“镇站之宝”的视频,拥有着数量极其恐怖的评论和弹幕。所以这次我们的目标就是,爬取B站视频的评论数据,分析其为何会深受大家喜爱。 首先去调研一下,B站评论数量最多的视频是哪一个。。。好在已经有大佬已经统计过了,我们来看一哈! 【B站大数据可视化】B站评论数...

亮出锋芒,剑指苍穹 2万+

Truncated SVD for faster dection

Truncated SVD方法最先被提出在《Fast R-CNN》论文中,用于降低全连接层的运算量,提升模型的速度。在卷积神经网络的分类任务中,FC层的运算速度远远大于CONV层,而在Fast R-CNN的目标检测任务中,大多数的运算时间发生在FC 的运算中,是因为针对每张输入图片,只进行一次卷积操作,而要对生成的Region Proposal,大致两千个,进行全连接操作进行分类与Bounding...

weixin_35747666的博客 1535

VS2022如何兼容老项目?.NET Framework 4.0/4.5安装避坑指南

本文提供了在Visual Studio 2022中兼容和维护.NET Framework 4.0/4.5等老旧项目的完整解决方案。针对VS2022无法直接识别旧框架的核心问题,文章详细剖析了原因,并重点推荐通过官方NuGet包安全获取引用程序集的方法,给出了从下载、解压到部署至标准目录的详细步骤。同时,文章还深入探讨了项目文件格式过旧、NuGet包还原失败等进阶问题的排查与解决策略,旨在帮助开发者高效、稳定地在现代开发环境中维护历史代码库。

weixin_27734811的博客 514

Python 爬取b站热门视频信息并导入Excel表格

1.工先利其事必先利器,首先我们得下载相应的库: pip install requests pip install lxml pip install xlwt requests 向网页发送请求 lxml 处理xml文件(xpath) xlwt 对Excel做写入操作 2.爬取b站热门视频的信息:   打开b站热门视频页面:   按f12进入开发者选项,然后点击选中你要获取的页面信息,即可找到该...

qq_44204959的博客 1万+

Index-TTS-1.5:多模态语音合成的技术演进与商业落地实践

本文深入探讨了Index-TTS-1.5在多模态语音合成领域的技术演进与商业落地。该模型基于GPT风格的自回归Transformer架构,通过优化条件编码器和引入字符-拼音混合建模,显著提升了语音生成的稳定性、精准度和真实感,实现了高质量的零样本语音克隆。文章还详细介绍了其云端体验、本地WebUI部署及ComfyUI集成等实战路径,并分析了其在虚拟数字人、个性化内容创作等商业场景中的应用潜力与挑战。

weixin_29098367的博客 401

python爬虫爬取B站评论

打开开发者工具,下滑页面数据让数据加载出来,随便选择一条评论复制,粘贴到开发工具中的搜索框中,找到对应的包。爬取当前页面的评论信息,用户昵称,性别,前面,内容,发布时间,归属地等。在这里随便点开B站首页推送的一个视频内容。当前页面的评论信息在 replies中。这里使用requests方法。爬取结果保存为csv文件。2.发送请求,访问网址。4.持久化存储,保存在。

weixin_51575130的博客 7328

用VASP计算GW+BSE

VASP在5.3以后的版本都能用解BSE方程的方法,在计算光吸收的过程中考虑激子效应。 下面就来写一个用BSE计算bulkSi的例子 首先,介电函数的计算是在GW计算的基础之上的。这里首先介绍G0W0的计算(我们这里直接在PBE的波函数基础上进行G0W0计算)。 1.PBE自恰计算,写WAVECAR System= Silicon groundstate occupied

ultra1989的专栏 2万+

QuestaSim使用Xilinx库的设置

安装QuestaSim

miracle_eicont的专栏 3407

爬取b站视频评论用户信息!这些评论的才是大神!

最近马保国老师在b站挺火的,关于他的视频播放量很高,b站视频评论区都是人才说话好听,写个爬虫爬取一下b站评论区用户信息和评论内容。 一.准备工作 1.工具 (1)Chrome 谷歌浏览器 安装地址:https://www.google.cn/chrome/(插件:json-handle 下载地址:http://jsonhandle.sinaapp.com/,json-handle安装方法: https://blog.youkuaiyun.com/xb12369/article/details/7900220.

pythonlaodi的博客 7545

DeepSeek+Dify之一安装部署

DeepSeek添加知识库

yilvyangguang520的博客 1544

年轻小伙竟用python爬取B站视频评论!

大家好,我是啃书君。 今天为大家带来的小demo是爬取B站视频的评论。开始还以为很难,等正真上手的时候发现,也就是那么回事。 高考对于每个人来说都是人生的重大转折点,你考上一所什么样的大学,极大可能改变你未来的人生。因此,读书很重要,读书可以改变自己的命运。 衡水中学的张锡锋,想必很多小伙伴们都认识吧,也是他激励了大多数人的学习热情,他的19年演讲视频在B站已经有1574万的播放量了,最近又出了一个新的视频《无产阶级的孩子跨越阶级的希望》,目前还没有多少人看,没有火起来。因此,我就爬取他在19年衡中的演讲视

weixin_42577686的博客 2691

系规备考论文:论IT服务规划设计

系规备考论文:论IT服务规划设计

liuxu324的博客 1144

基于多智能体的自动化公司调研系统

在当今竞争激烈的商业世界中,了解公司的详细信息对于投资者、合作伙伴和研究机构等具有重要意义。传统的公司调研方式往往需要耗费大量的人力、物力和时间,且容易出现信息不全面、不准确等问题。基于多智能体的自动化公司调研系统的目的是利用多智能体技术,实现公司调研的自动化和智能化,提高调研的效率和准确性。本系统的范围涵盖了公司基本信息收集、市场竞争力分析、财务状况评估等多个方面。本文将按照以下结构进行组织:首先介绍系统的核心概念和相关联系,包括多智能体系统的原理和架构;

架构师的AI之路,分享AI应用开发架构的学习与实践。 964
上一篇: python3爬取B站视频历史弹幕
下一篇: Python3 发送QQ邮箱(含附件)
wshinng
博客等级 码龄9年 24粉丝 9原创
评论 39
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wshinng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值