public async Task GetVideoUrlForFeelAgain() { var result = await _videoUrlCrawler.GetUrlBySingleContentId( await _videoInfoCrawler.GetVideoInfo("av349183")); Assert.NotNull(result); Assert.NotEqual(0, result.Durl.Count); _PrintUrl(result); }
/// <summary> /// Generate video link /// Note: /// 1. UserAgent (MSIE10) and Referrer must be set to the downloader, otherwise server will return 500 /// 2. Exception may be raised if something goes wrong (e.g. no video found) /// </summary> /// <param name="contentUrl"></param> /// <returns></returns> private async Task <List <string> > GenerateGeneralVideoLink(string contentUrl) { // BGetCore library related stuff var videoInfoCrawler = new VideoInfoCrawler(); var videoInfo = await videoInfoCrawler.GetVideoInfo(contentUrl); var videoUrlGrabber = new VideoUrlCrawler(); var videoUrl = await videoUrlGrabber.GetUrlBySingleContentId(videoInfo); var urlList = new List <string>(); // Just a practice of LINQ... if (Settings.Default.PreferFlv) { videoUrl.Durl.ForEach(url => urlList.Add(url.Url)); } else { urlList.AddRange( videoUrl.Durl.Where(url => url.BackupUrl != null && url.BackupUrl.Url.Count != 0) .SelectMany(url => url.BackupUrl.Url)); } return(urlList); }
private static void Main(string[] args) { Console.Write("[INFO] Enter your video ID, e.g. av349183: "); var inputVideo = Console.ReadLine(); Console.WriteLine("[INFO] Please wait..."); var videoInfoCrawler = new VideoInfoCrawler(); var videoInfo = videoInfoCrawler.GetVideoInfo(inputVideo).Result; var cid = videoInfo.ContentId; Console.WriteLine("[DEBUG] CID is " + cid); Console.WriteLine("[INFO] Title: " + videoInfo.Title); Console.WriteLine("[INFO] Author: " + videoInfo.Author); Console.WriteLine("[INFO] Description: " + videoInfo.Description + "\n\n\n"); var videoUrlGrabber = new VideoUrlCrawler(); var videoUrl = videoUrlGrabber.GetUrlBySingleContentId(videoInfo).Result; Console.WriteLine("[INFO] Got {0} video sections.", videoUrl.Durl.Count); foreach (var url in videoUrl.Durl) { Console.WriteLine("[INFO] Flash video URL: {0}", url.Url); if (url.BackupUrl != null && url.BackupUrl.Url.Count != 0) { foreach (var mp4Url in url.BackupUrl.Url) { Console.WriteLine("[INFO] MP4 backup video URL: {0}", mp4Url); } } } Console.Read(); }