All
PC硬件
经验记录
生活杂谈
日常踩坑
前端技术
测试
2022-08-15
前端技术
125
临时解决巴哈弹幕无法获取的问题(需要梯子能进入巴哈网站)

1、 打开巴哈网站
2、 按F12打开控制台复制下面代码到控制台,按回车。(代码最后一行30868改为你要下载弹幕的视频地址上"sn="后面那串数字)
3、 等待片刻,控制台会输出一串xml字符串,点击copy复制。
4、 电脑上新建一个.txt文件,粘贴xml字符串进入,删掉开头和结尾的引号。
5、 修改后缀名为.xml,打开弹弹play导入弹幕即可。

function domToStirng(dom) {
    const div = document.createElement('div')
    div.appendChild(dom)
    return div.innerHTML
}

const getDmXml = async (sn) => {
    const formData = new FormData()
    formData.append('sn', sn)

    const res = await fetch('https://ani.gamer.com.tw/ajax/danmuGet.php', {
        method: 'POST',
        body: formData,
    }).then((res) => res.json())

    const dList = res
    let i = `<i xmlns:xsp="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><chatserver>chat.bilibili.com</chatserver><chatid>10000</chatid><mission>0</mission><maxlimit>8000</maxlimit><source>e-r</source><ds>931869000</ds><de>937654881</de><max_count>8000</max_count>`

    dList.forEach((item) => {
        let d = document.createElement('d')
        d.setAttribute('p', `${item.time / 10},1,25,16777215,1659830799719,0,0,0`)
        d.innerText = item.text
        i += domToStirng(d)
    })

    i += '</i>'

    return (`<?xml version="1.0"?>` + i).replaceAll('<br>', '')
}
// 下面30868改为你要下载弹幕的视频地址上"sn="后面那串数字
await getDmXml('30868')

Back
© 2022 BBF Powered byNext.js&Prisma&Tailwind.css