关闭

C#三行代码获取优酷首页热门视频集合

592人阅读 评论(0) 收藏 举报
C# code
using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; namespace Youku { /// <summary> /// 优酷热门视频实体类 /// </summary> public class YouHotVideo { public string Title { get; set; } public string ImgURI { get; set; } public string URI { get; set; } public YouHotVideo(string title, string imgUri, string uri) { Title = title; ImgURI = imgUri; URI = uri; } public static List<YouHotVideo> GetALL() { var v = new StreamReader(HttpWebRequest.Create("http://www.youku.com") .GetResponse().GetResponseStream(), Encoding.UTF8).ReadToEnd() .Replace("<li ", "").Split('').Where(x => x.Contains("v_link") || x.Contains("v_thumb")) .Select(x => x.Substring(x.IndexOf("http"))).Select(x => x.Remove(x.IndexOf(">"))).ToList(); v = v.Select(x => x + v.ElementAt(v.IndexOf(x) + (v.IndexOf(x) == v.Count() - 1 ? 0 : 1))).ToList(); return v.Where(x => v.IndexOf(x) % 2 == 0).Where(x => x.Contains("html") && x.Contains("ykimg")) .Select(x => x.Replace("&lt;", "<").Replace("&gt;", ">").Replace("&quot;", "\"") .Replace("&nbsp;", " ")).ToList().Select(x => new YouHotVideo(x.Remove(x.LastIndexOf("\"")) .Substring(x.IndexOf("title") + 7), x.Remove((x.Contains("src") ? x.LastIndexOf(" src") : x .LastIndexOf(" alt")) - 1).Substring(x.IndexOf("ykimg") - 10), x.Remove(x.IndexOf("html") + 4))).ToList(); } } }



C# code
using System; namespace ConsoleApplicationDemo { class Program { static void Main(string[] args) { Youku.YouHotVideo.GetALL().ForEach(x => { Console.WriteLine("标题:" + x.Title); Console.WriteLine("图片地址:" + x.ImgURI); Console.WriteLine("视频地址:" + x.URI); Console.WriteLine(); }); Console.ReadLine(); } } }

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:486954次
    • 积分:5212
    • 等级:
    • 排名:第5271名
    • 原创:84篇
    • 转载:132篇
    • 译文:0篇
    • 评论:34条
    最新评论