fix bili-video search, update kugou playlist test

This commit is contained in:
aynakeya
2025-02-26 15:51:36 +08:00
parent ab07ab0300
commit bdaf150fdf
3 changed files with 19 additions and 2 deletions

View File

@@ -19,7 +19,7 @@ var biliHeaders = map[string]string{
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
"Referer": "https://www.bilibili.com/",
"Origin": "https://www.bilibili.com",
"Cookie": "buvid3=40BA0253-7F5C-06C1-12CE-871EC008DB2096426infoc;",
"Cookie": "buvid4=86D528BE-0AAA-CF7C-563F-48F8E3F133C140694-023050121-%2FNOyo2MbSyMEJ2aIs%2BzIdw%3D%3D",
}
type BilibiliVideo struct {
@@ -88,6 +88,7 @@ func NewBilibiliViedo() *BilibiliVideo {
if resp.Get("code").String() != "0" {
return errors.New("failed to find required data")
}
fmt.Println(resp.String())
r := regexp.MustCompile("</?em[^>]*>")
resp.Get("data.result").ForEach(func(key, value gjson.Result) bool {
*result = append(*result, miaosic.MediaInfo{

View File

@@ -19,7 +19,7 @@ func (k *Kugou) MatchPlaylist(uri string) (miaosic.MetaData, bool) {
matches := playlistIdRegex.FindStringSubmatch(uri)
return miaosic.MetaData{
Provider: k.GetName(),
Identifier: matches[1],
Identifier: "gcid_" + matches[1],
}, true
}
return miaosic.MetaData{}, false
@@ -98,6 +98,7 @@ func (k *Kugou) GetPlaylist(meta miaosic.MetaData) (*miaosic.Playlist, error) {
"pagesize": 100,
"plat": 1,
"type": 1,
"mode": 1,
"area_code": 1,
"begin_idx": 0,
}
@@ -121,6 +122,7 @@ func (k *Kugou) GetPlaylist(meta miaosic.MetaData) (*miaosic.Playlist, error) {
if err != nil {
return nil, err
}
//fmt.Println(resp.String())
result := gjson.ParseBytes(resp.Body())
if result.Get("error_code").Int() != 0 {
return nil, errors.New("kugou: get playlist error")

View File

@@ -8,17 +8,31 @@ import (
)
func TestKugou_GetPlaylist(t *testing.T) {
// less than 100 song
playlist, err := testApi.GetPlaylist(miaosic.MetaData{Identifier: "gcid_3zfcfgjcz31z06d"})
require.NoError(t, err)
fmt.Println(playlist.Medias)
}
func TestKugou_GetPlaylist_2(t *testing.T) {
// more than 100 song
playlist, err := testApi.GetPlaylist(miaosic.MetaData{Identifier: "gcid_3ztimg53zoz09e"})
require.NoError(t, err)
fmt.Println(playlist.Medias)
}
func TestKugou_getCollectionId(t *testing.T) {
val, err := testApi.getCollectionId("gcid_3zfcfgjcz31z06d")
require.NoError(t, err)
require.Equal(t, "collection_3_806499027_106_0", val)
}
func TestKugou_getCollectionId_2(t *testing.T) {
val, err := testApi.getCollectionId("gcid_3ztimg53zoz09e")
require.NoError(t, err)
require.Equal(t, "collection_3_1551108653_24_0", val)
}
func TestKugou_getPlaylistTitle(t *testing.T) {
val, err := testApi.getPlaylistTitle("collection_3_806499027_106_0")
require.NoError(t, err)