B站源码改了,不好爬字幕了

在去年12月底,下载下来的一段源码,文字就是视频自动生成的字幕,能够一次性下载视频的所有字幕。

{
    "font_size": 0.4,
    "font_color": "#FFFFFF",
    "background_alpha": 0.5,
    "background_color": "#9C27B0",
    "Stroke": "none",
    "type": "AIsubtitle",
    "lang": "zh",
    "version": "v1.4.0.4",
    "body": [
        {
            "from": 0.12,
            "to": 2.82,
            "sid": 1,
            "location": 2,
            "content": "我真不是我想还是我挺想爱尔德一下的"
        },
        {
            "from": 2.82,
            "to": 3.3,
            "sid": 2,
            "location": 2,
            "content": "你知道吗"
        },
        {
            "from": 3.3,
            "to": 7.82,
            "sid": 3,
            "location": 2,
            "content": "我确实喜欢去演一些带有创伤的角色"
        },

但是现在变成了实时更新,并不会存储所有字幕到源码里面,如下图所示,存储于该元素块当中

当我再将视频前进,再次查找相同的字符,已经不见了,并且与上图相同的代码块位置的中文内容已经更改

所以这种是不是就不能爬取了?

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Python中B站字幕可以通过以下步骤实现: 1. 导入所需的库:首先,你需要导入一些Python库,如requests和BeautifulSoup。Requests库用于发送HTTP请求,而BeautifulSoup库用于解析HTML页面。 2. 发送请求获取页面内容:使用requests库发送GET请求,获取B站视频页面的HTML内容。你可以使用视频的URL或视频的av号作为参数。 3. 解析HTML页面:使用BeautifulSoup库解析HTML页面,提取出字幕相关的信息。你可以通过查看页面源代码来确定字幕所在的HTML元素和类名。 4. 提取字幕信息:根据HTML页面的结构,使用BeautifulSoup提供的方法提取出字幕的文本内容。你可能需要使用CSS选择器或XPath来定位字幕所在的元素。 5. 存储字幕:将提取到的字幕信息保存到本地文件或数据库中,以便后续使用。 下面是一个简单的示例代码,演示了如何使用PythonB站视频的字幕: ```python import requests from bs4 import BeautifulSoup # 发送请求获取页面内容 url = 'https://www.bilibili.com/video/av12345678' response = requests.get(url) html = response.text # 解析HTML页面 soup = BeautifulSoup(html, 'html.parser') # 提取字幕信息 subtitles = soup.select('.subtitle-line') # 假设字幕所在的类名为'subtitle-line' subtitles_text = [subtitle.text for subtitle in subtitles] # 存储字幕 with open('subtitles.txt', 'w', encoding='utf-8') as f: for subtitle in subtitles_text: f.write(subtitle + '\n') print('字幕已保存到subtitles.txt文件中。') ``` 请注意,上述代码仅为示例,实际应用中可能需要根据具体情况进行适当的修改和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值