发现最近Acfun Localizer下载的bilibili的xml弹幕文件都是2k,内容为空,于是研究了一下相关的lua脚本,脚本版本:20120907
问题出现在bilibili.lua的大约180~200行的获取str_id的地方,本来获取的id应该为412345这样的6位数字,而现在变成了627320&aid=409176这样的加多了一串aid的情况。
于是下载的comment.bilibili.tv/412345.xml就变成了comment.bilibili.tv/627320&aid=409176.xml,自然就出错了。
我以前没接触过lua脚本,对其他语言也没啥太多了解,总之就是非专业人士了。本来想把获取str_id的代码改好,但是不成功。于是google了一下lua的语法想到了个暂时解决这个问题的馊主意:把bilibili.lua的250行的
str_subxmlurl = "http://comment.bilibili.tv/" .. str_id .. ".xml";
改成
str_subxmlurl = "http://comment.bilibili.tv/" .. string.sub(str_id,1,6) .. ".xml";
也就是说只提取类似627320&aid=409176的前6位——这样的话cid是6位的视频弹幕都能解决(老的视频应该有5位或以下的,现在的视频估计都是6位的)
最后还是期待作者的更新吧,非专业人士只能帮自己/你到这了~
PS.有网友在下面的评论区提出了更好的方法,应该是目前完美的方法了。
把博主的方法里的
string.sub(str_id,1,6)
改成
string.sub(str_id,1,string.find(str_id, “&”)-1)
就可以支持任何位数的cid了
懂了,好方法,受教了