Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

搜索功能无法使用,返回json中显示code"-403" 番剧及大部分视频在1080p时播放效果为360p #41

Open
zxjwzn opened this issue Dec 2, 2022 · 15 comments

Comments

@zxjwzn
Copy link

zxjwzn commented Dec 2, 2022

在分支py2中
描述错误
1.搜索功能无法使用,返回json中显示code"-403"
2.番剧及大部分视频在1080p时播放效果为360p
3.在搜索时解析json时提取视频,电影,番剧的位置有误(420,422,424行)

设备信息

  • 设备: raspberry pi 4b
  • 系统: LibreELEC (official): 9.2.8 (RPi4.arm)
  • Kodi 版本 kodi18
  • 插件:plugin.video.bilibili

其他
1.搜索时貌似需要带上名叫buvid3的cookie才能正常返回结果
2.对于错误2,我目前无法找到解决方案
3. 420~424行的代码应该如下:
k = j['data']['result'][10]['data']
# 番剧
bgm = j['data']['result'][5]['data']
# 影视
mov = j['data']['result'][6]['data']
4.这是我第一次写issue,如果还有哪里不详细的话请指出,对不起!

更新:对于错误2的更详细描述
1.官方api1的清晰度只有360p
2.官方api2则需要SESSDATA才能获得更清晰视频流

@ArchieMeng
Copy link
Contributor

ArchieMeng commented Dec 2, 2022

既然已经修了一部分了,你可以Fork一下,推上来然后再提个PR看看。

2.番剧及大部分视频在1080p时播放效果为360p

我猜是B站改了API吧。估计得找找有没有新的API了,毕竟都这么久了。
另外,我这边也没环境验证。我两台电脑都是19.4的Kodi,只有手机或者平板看看能不能装18看看。

@zxjwzn
Copy link
Author

zxjwzn commented Dec 2, 2022

感谢您的回复!
我会尽量pr的☺️
另外,请教一下如何在插件设置中加入buvid3这个cookie,让它可以被修改?
我对于kodi的插件并不是很懂

@ArchieMeng
Copy link
Contributor

ArchieMeng commented Dec 3, 2022

另外,请教一下如何在插件设置中加入buvid3这个cookie,让它可以被修改? 我对于kodi的插件并不是很懂

Kodi设置模块的文档:https://kodi.wiki/view/Add-on_settings
获取方法(类似的也有很多处,你可以自己看看源码):

vipstatus = xbmcplugin.getSetting(int(sys.argv[1]), 'vipstatus')

(其实,我没加过设置,只是读过已有的。)

@zxjwzn
Copy link
Author

zxjwzn commented Dec 3, 2022

谢谢!
我会尝试的!

@zxjwzn
Copy link
Author

zxjwzn commented Dec 3, 2022

您好!我已经添加了pr,addon.xml的版本是否要更新呢?
播放清晰度的问题我还在想办法解决,貌似需要较长的时间QAQ

@ArchieMeng
Copy link
Contributor

PR我看了,如果能正常工作的话,那就没啥问题。我搞了半天,也没有Kodi 18的环境验证。顺便,看样子py3分支的bilibili也应该挂了(

@zxjwzn
Copy link
Author

zxjwzn commented Dec 7, 2022

py3的分支我有时间在来写罢(逃
官方api1已经寄了

@ArchieMeng
Copy link
Contributor

没事,我在照着改py3分支。
看样子还缺点什么,我现在搜索返回的json是空的,没拿到。确定现在PR的是可以搜索的?我有填buvid3和SESSDATA.

@zxjwzn
Copy link
Author

zxjwzn commented Dec 8, 2022

我早上用kodi试了一下,也报了错,但是我要上课,拿不到电脑,等中午的时候我再试试
不出意外的话登陆bilibili后可以直接在浏览器上访问,但是有一大堆cookie😔,不知道是哪个,反正我是删掉一个后刷新直到返回-412
但是这个文档中写了只需要sessdata
https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/search/search_request.md#综合搜索web端

@zxjwzn
Copy link
Author

zxjwzn commented Dec 8, 2022

import requests
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36',
'Connection': 'close',
"cookie": "buvid3=68D7B27F-41F9-9F5A-8A09-D797B5D34CFF24744infoc"
}
a=requests.get(url="https://api.bilibili.com/x/web-interface/search/all/v2?keyword=114514",headers=headers)
a=a.text
print(a)
看看这段代码能不能返回正常值罢,我这边是能返回的

@ArchieMeng
Copy link
Contributor

ArchieMeng commented Dec 8, 2022

是的,这段代码能返回。另外,我看现在还在维护的bilibili-api在https://github.com/Nemo2011/bilibili-api。 它也提供了一个包可以直接调API, 不过集成进addon难度有多大就不知道了。

@zxjwzn
Copy link
Author

zxjwzn commented Dec 8, 2022

貌似是挺方便,但是要改动的地方太多了,比较麻烦,不过倒也不是不可能🤔

@ArchieMeng
Copy link
Contributor

关于cookies中的buvid3,我找到方法获取,不用手动填了。就是脚本运行的时候先访问Bilibili一次,然后用返回响应里的cookies就好了。直接拿整个cookies来用都行。

@zxjwzn
Copy link
Author

zxjwzn commented Dec 8, 2022

如果这个方法可以访问的话那真是再好不过了
话说是每次搜索都请求还是存储下来定期更新呢

@ArchieMeng
Copy link
Contributor

ArchieMeng commented Dec 8, 2022

随便。我现在py3正在写的是启动addon脚本的时候就获取一次。然后就一直用这个直到脚本关闭。
更新:py3上的搜索模块修改 ArchieMeng/xbmc-kodi-private-china-addons@63408b7

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants