C#三行代码获取优酷首页热门视频集合
- 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”) .GetRespons()
-
.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(“<”, “<”).Replace(“>”, “>”).Replace(“"”, “\”") .Replace(“ ”, ” “))
-
.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();
-
}
-
}
-
}

原文地址:http://zhaodehai.com/archives/258。
作者:Peter Luo
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。

浙公网安备 33010602011771号