mirror of
https://github.com/AynaLivePlayer/miaosic.git
synced 2026-03-15 13:33:17 +08:00
fix bili-video search, update kugou playlist test
This commit is contained in:
@@ -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",
|
"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/",
|
"Referer": "https://www.bilibili.com/",
|
||||||
"Origin": "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 {
|
type BilibiliVideo struct {
|
||||||
@@ -88,6 +88,7 @@ func NewBilibiliViedo() *BilibiliVideo {
|
|||||||
if resp.Get("code").String() != "0" {
|
if resp.Get("code").String() != "0" {
|
||||||
return errors.New("failed to find required data")
|
return errors.New("failed to find required data")
|
||||||
}
|
}
|
||||||
|
fmt.Println(resp.String())
|
||||||
r := regexp.MustCompile("</?em[^>]*>")
|
r := regexp.MustCompile("</?em[^>]*>")
|
||||||
resp.Get("data.result").ForEach(func(key, value gjson.Result) bool {
|
resp.Get("data.result").ForEach(func(key, value gjson.Result) bool {
|
||||||
*result = append(*result, miaosic.MediaInfo{
|
*result = append(*result, miaosic.MediaInfo{
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ func (k *Kugou) MatchPlaylist(uri string) (miaosic.MetaData, bool) {
|
|||||||
matches := playlistIdRegex.FindStringSubmatch(uri)
|
matches := playlistIdRegex.FindStringSubmatch(uri)
|
||||||
return miaosic.MetaData{
|
return miaosic.MetaData{
|
||||||
Provider: k.GetName(),
|
Provider: k.GetName(),
|
||||||
Identifier: matches[1],
|
Identifier: "gcid_" + matches[1],
|
||||||
}, true
|
}, true
|
||||||
}
|
}
|
||||||
return miaosic.MetaData{}, false
|
return miaosic.MetaData{}, false
|
||||||
@@ -98,6 +98,7 @@ func (k *Kugou) GetPlaylist(meta miaosic.MetaData) (*miaosic.Playlist, error) {
|
|||||||
"pagesize": 100,
|
"pagesize": 100,
|
||||||
"plat": 1,
|
"plat": 1,
|
||||||
"type": 1,
|
"type": 1,
|
||||||
|
"mode": 1,
|
||||||
"area_code": 1,
|
"area_code": 1,
|
||||||
"begin_idx": 0,
|
"begin_idx": 0,
|
||||||
}
|
}
|
||||||
@@ -121,6 +122,7 @@ func (k *Kugou) GetPlaylist(meta miaosic.MetaData) (*miaosic.Playlist, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
//fmt.Println(resp.String())
|
||||||
result := gjson.ParseBytes(resp.Body())
|
result := gjson.ParseBytes(resp.Body())
|
||||||
if result.Get("error_code").Int() != 0 {
|
if result.Get("error_code").Int() != 0 {
|
||||||
return nil, errors.New("kugou: get playlist error")
|
return nil, errors.New("kugou: get playlist error")
|
||||||
|
|||||||
@@ -8,17 +8,31 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestKugou_GetPlaylist(t *testing.T) {
|
func TestKugou_GetPlaylist(t *testing.T) {
|
||||||
|
// less than 100 song
|
||||||
playlist, err := testApi.GetPlaylist(miaosic.MetaData{Identifier: "gcid_3zfcfgjcz31z06d"})
|
playlist, err := testApi.GetPlaylist(miaosic.MetaData{Identifier: "gcid_3zfcfgjcz31z06d"})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
fmt.Println(playlist.Medias)
|
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) {
|
func TestKugou_getCollectionId(t *testing.T) {
|
||||||
val, err := testApi.getCollectionId("gcid_3zfcfgjcz31z06d")
|
val, err := testApi.getCollectionId("gcid_3zfcfgjcz31z06d")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Equal(t, "collection_3_806499027_106_0", val)
|
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) {
|
func TestKugou_getPlaylistTitle(t *testing.T) {
|
||||||
val, err := testApi.getPlaylistTitle("collection_3_806499027_106_0")
|
val, err := testApi.getPlaylistTitle("collection_3_806499027_106_0")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|||||||
Reference in New Issue
Block a user