public static List <BangumiInfo> GetBangumiInfos(BangumiSeason bseason) { var result = new List <BangumiInfo>(); for (int i = 0; i < bseason.Result.Count; i++) { var daySeason = bseason.Result[i]; for (int j = 0; j < daySeason.Seasons.Count; j++) { var season = daySeason.Seasons[j]; if (season.Is_published == 1 || season.Delay == 1) { continue; } long pubts = season.Pub_ts; pubts *= 10000000; DateTime t = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); t = t.Add(new TimeSpan(pubts)).ToLocalTime(); Console.WriteLine(season.Pub_index); var binfo = new BangumiInfo { Cover = season.Cover, SquareCover = season.Square_cover, Index = season.Pub_index.Substring(1, season.Pub_index.Length - 2), EpNumber = Convert.ToInt32(season.Ep_id), SeasonId = season.Season_id, Title = season.Title, UpdateTime = t }; result.Add(binfo); } } return(result); }
/// <summary> /// 通过seasonId获得番剧的剧集详情 /// </summary> /// <param name="seasonId"></param> /// <returns></returns> public static BangumiSeasonResult GetBangumiSeason(long seasonId, string referer) { string url = $"https://api.bilibili.com/pgc/view/web/season?season_id={seasonId}"; string response = Utils.RequestWeb(url, referer); try { BangumiSeason bangumiSeason = JsonConvert.DeserializeObject <BangumiSeason>(response); if (bangumiSeason != null) { return(bangumiSeason.result); } else { return(null); } } catch (JsonReaderException e) { Console.WriteLine("GetBangumiSeason()发生JsonReader异常: {0}", e); return(null); } catch (Exception e) { Console.WriteLine("GetBangumiSeason()发生异常: {0}", e); return(null); } }
public BangumiInfoService(string input) { if (input == null) { return; } if (ParseEntrance.IsBangumiSeasonId(input) || ParseEntrance.IsBangumiSeasonUrl(input)) { long seasonId = ParseEntrance.GetBangumiSeasonId(input); bangumiSeason = BangumiInfo.BangumiSeasonInfo(seasonId); } if (ParseEntrance.IsBangumiEpisodeId(input) || ParseEntrance.IsBangumiEpisodeUrl(input)) { long episodeId = ParseEntrance.GetBangumiEpisodeId(input); bangumiSeason = BangumiInfo.BangumiSeasonInfo(-1, episodeId); } if (ParseEntrance.IsBangumiMediaId(input) || ParseEntrance.IsBangumiMediaUrl(input)) { long mediaId = ParseEntrance.GetBangumiMediaId(input); BangumiMedia bangumiMedia = BangumiInfo.BangumiMediaInfo(mediaId); bangumiSeason = BangumiInfo.BangumiSeasonInfo(bangumiMedia.SeasonId); } }