我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何用python抓取B站数据

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何用python抓取B站数据

目录
  • 概述
  • 我是对比
  • 快速开始
    • 1)安装过程
    • 2)获取弹幕数据
    • 3)绘制词云
    • 4)最终效果
  • 小结

    概述

    可以获取的数据包括:

    video-视频模块

    user-用户模块

    dynamic-动态模块

    这次用“Running Man”十周年特辑的视频,来做个获取弹幕的Demo。

    我是对比

    没有对比,就没有伤害,就像最近的“哈工大”某学生和“浙大”某学生一样。

    这是之前获取弹幕的过程:

    弹幕数据接口

    https://comment.bilibili.com/123072475.xml (一个固定的url地址 + 视频的cid + .xml)

    利用Request模块,获取数据

    利用Xpath解析数据

    接下来,是时候表演真正的技术了。

    经过bilibili_api的封装,弹幕数据获取的部分仅用了一行代码:

    
    danmu = video_info.get_danmaku()

    相应的获取视频的基本信息和评论信息也是一样的便捷。

    
    basic_info = video_info.get_video_info()
    comments = video_info.get_comments()

    快速开始

    接下来,本文将用bilibili_api获取“Running Man”十周年特辑的弹幕数据,并绘制词云。

    视频的链接:

    https://www.bilibili.com/video/BV1gC4y1h722

    B站有av号和bv号,改版之后,在链接中直接显示的是bv号,这两个必须提供一个。

    bvid是b站新的视频唯一标识符,由12位数字、字母组成,大小写敏感,传入时请包含头部的“BV”

    比如:“BV1gC4y1h722”

    1)安装过程

    安装需要依赖request 模块,它是把B站数据的API封装起来了。

    通过pip安装即可:

    
    pip install bilibili_api

    导入模块

    
    from bilibili_api import Verify
    from bilibili_api.video import VideoInfo
    from bilibili_api.video import Danmaku

    VideoInfo类-获取视频的信息(弹幕、评论、投币数量、播放量等)

    Danmaku类-弹幕类,用于获取和发送弹幕

    Verify 类,可用可不用。部分视频信息需要登录(即需要 SESSDATA )后才能使用(如历史弹幕获取)。

    对视频进行点赞、投币等用户操作则需要 SESSDATA 和 csrf 。

    关于 SESSDATA 和 csrf 获取的详细方法,可参考如下链接:

    https://github.com/Passkou/bilibili_api/wiki/SESSDATA和CSRF获取方法(Chrome为例)

    2)获取弹幕数据

    创建VideoInfo对象,传入两个参数:

    bvid="BV1gC4y1h722"(视频的BV号)

    verify=verify(根据sessdata和csrf,获取弹幕)

    获取的弹幕数据为“Danmaku类”的列表,通过遍历,打印它的text即可

    贴个代码:

    
    verify = Verify(sessdata="你的", csrf="你的")
    video_info = VideoInfo(bvid="BV1gC4y1h722", verify=verify)
    
    danmu = video_info.get_danmaku()
    for i in danmu:
        print(i.text)

    3)绘制词云

    通过jieba分词和WorldCloud绘制词云。

    可通过WordCloud对象,传入“背景颜色”,“背景图”,“字体”等参数。

    贴个代码:

    
    wc = WordCloud(
        background_color='white',
        mask=background_Image,
        font_path=r'./SourceHanSerifCN-Medium.otf',
        color_func=random_color_func,
        random_state=50,
    )
    
    word_cloud = wc.generate(words_str) # 产生词云
    word_cloud.to_file("rm.jpg") #保存图片
    
    # 显示词云图片
    plt.imshow(word_cloud)
    plt.axis('off')
    plt.show()

    4)最终效果

    通过词云,可以看到最明显的就是 “快乐 十周年”、“RM 十周年”、“哈哈哈哈哈哈”等,

    小结

    通过这个模块“bilibili_api”,可以快速的获取B站视频和用户的数据,至于数据获取下来怎么玩,就看自己的想象力啦~

    本文相关源码下载:https://alltodata.cowtransfer.com/s/6c255cd808b742

    以上就是如何用python抓取B站数据的详细内容,更多关于python抓取B站数据的资料请关注编程网其它相关文章!

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    如何用python抓取B站数据

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档

    猜你喜欢

    如何用python抓取B站数据

    目录概述我是对比快速开始1)安装过程2)获取弹幕数据3)绘制词云4)最终效果小结概述 可以获取的数据包括: video-视频模块 user-用户模块 dynamic-动态模块 这次用“Running Man”十周年特辑的视频,来做个获取弹幕
    2022-06-02

    使用python抓取B站数据的方法

    这篇文章给大家分享的是有关使用python抓取B站数据的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。概述可以获取的数据包括:video-视频模块user-用户模块dynamic-动态模块这次用“Runnin
    2023-06-15

    怎么用Python抓取网站数据

    Python抓取网站数据本指南提供分步说明,指导你使用Python抓取网站数据。涵盖了从安装必需库到提取数据、处理特殊情况和最佳实践的所有内容。了解如何使用requests、BeautifulSoup和lxml来获取、解析和存储网站内容,从而进行数据分析、自动化任务或其他目的。
    怎么用Python抓取网站数据
    2024-04-10

    如何用 Python 抓取 javascript 网站?

    问题内容我正在尝试抓取一个网站。我尝试过使用两种方法,但两种方法都没有为我提供我正在寻找的完整网站源代码。我正在尝试从下面提供的网站 url 中抓取新闻标题。网址:“https://www.todayonline.com/”这是我尝试
    如何用 Python 抓取 javascript 网站?
    2024-02-10

    Python如何获取B站粉丝数

    这篇文章给大家分享的是有关Python如何获取B站粉丝数的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。要使用代码,需要安装Python 3.x,并且要安装库,在cmd输入pip install requests
    2023-06-14

    Python如何逆向抓取APP数据

    本篇内容介绍了“Python如何逆向抓取APP数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!所需设备和环境:设备:安卓手机抓包:fidd
    2023-06-16

    如何使用Python逆向抓取APP数据

    今天给大伙分享一下 Python 爬虫的教程,这次主要涉及到的是关于某 APP 的逆向分析并抓取数据,关于 APP 的反爬会麻烦一些,比如 Android 端的代码写完一般会进行打包并混淆加密加固,所以除了抓包之外,还需要对 APP 进行查
    2022-06-02

    使用Python和Scrapy实现抓取网站数据

    目录一、安装Scrapy二、创建一个Scrapy项目三、定义一个Scrapy爬虫四、运行Scrapy爬虫五、保存抓取的数据六、遵守网站的robots.txt七、设置下载延迟八、使用中间件和管道九、结论在本文中,我们将介绍如何使用Python
    2023-05-12

    Python中如何利用appium抓取app应用数据

    今天就跟大家聊聊有关Python中如何利用appium抓取app应用数据,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。什么是selenium?Selenium原本是一个用于Web应用
    2023-06-02

    Python如何爬取b站番剧信息

    Python如何爬取b站番剧信息,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。相信很多人都是B站的粉丝吧?因为确实是一个类目都比较齐全的网站,还有各种各样的新番,这是其他网站没
    2023-06-02

    如何用python抓取链家网二手房数据

    本篇内容介绍了“如何用python抓取链家网二手房数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!# -*- coding: utf-8i
    2023-06-04

    Python如何抓取淘宝IP地址数据

    这篇文章主要介绍Python如何抓取淘宝IP地址数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!示例代码def fetch(ip): url = http://ip.taobao.com/service/ge
    2023-06-02

    如何通过python抓取二手房价数据

    这篇文章主要讲解了“如何通过python抓取二手房价数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何通过python抓取二手房价数据”吧!模块安装同上次新房一样,这里需要安装以下模块(
    2023-06-16

    如何在Python中进行网络数据抓取

    如何在Python中进行网络数据抓取网络数据抓取是指从互联网上获取信息的过程,在Python中,有许多强大的库可以帮助我们实现这个目标。本文将介绍如何使用Python进行网络数据抓取,并提供具体的代码示例。安装必要的库在开始之前,我们需要安
    2023-10-22

    php如何抓取网页数据

    在PHP中,可以使用cURL库来抓取网页数据。cURL(Client URL)是一个用于在PHP中进行网络通信的库,可以发送HTTP请求并获取响应数据。以下是一个使用cURL抓取网页数据的示例:```php// 创建cURL资源$ch =
    2023-09-15

    Python如何实现抖音评论数据抓取

    小编给大家分享一下Python如何实现抖音评论数据抓取,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1. 抓取数据抖音出了 web 版,抓取数据方便了很多。抓评论滑到网页评论区,在浏览器网络请求里过滤包含comment的请
    2023-06-28

    如何使用Puppeteer进行新闻网站数据抓取和聚合

    导语 Puppeteer是一个基于Node.js的库,它提供了一个高级的API来控制Chrome或Chromium浏览器。通过Puppeteer,我们可以实现各种自动化任务,如网页截图、PDF生成、表单填写、网络监控等。本文将介绍如何使用
    2023-08-30

    python如何爬取网站数据

    Python爬取网站数据Python是一种适用于网站数据爬取的编程语言。它提供广泛的库,如requests、BeautifulSoup、Selenium、lxml和scrapy。爬取过程涉及发送请求、解析响应、提取数据和存储数据。Python爬虫灵活、高效、易于使用,但可能受限于反爬虫措施、数据结构化程度低以及道德和法律问题。最佳实践包括遵循网站条款、使用用户代理、限制频率、处理错误以及合乎道德地存储和使用数据。
    python如何爬取网站数据
    2024-04-12

    怎么用python抓取游戏数据

    要使用Python抓取游戏数据,你可以按照以下步骤进行操作:导入所需的库,例如requests和BeautifulSoup:import requestsfrom bs4 import BeautifulSoup使用requests库发
    2023-10-26

    编程热搜

    • Python 学习之路 - Python
      一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
      Python 学习之路 - Python
    • chatgpt的中文全称是什么
      chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
      chatgpt的中文全称是什么
    • C/C++中extern函数使用详解
    • C/C++可变参数的使用
      可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
      C/C++可变参数的使用
    • css样式文件该放在哪里
    • php中数组下标必须是连续的吗
    • Python 3 教程
      Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
      Python 3 教程
    • Python pip包管理
      一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
      Python pip包管理
    • ubuntu如何重新编译内核
    • 改善Java代码之慎用java动态编译

    目录