我做个网站就是用户可以贴优酷的视频的地址,然后在他发表的文章中能够看这个视频。
播放视频我已经做好了,我想问的是怎么得到视频的预览图片的地址。播放前是个预览图片:点击播放后才是视频:
比如视频 http://v.youku.com/v_show/id_XMTk4Njc1MjI0.html
对应的预览图片是下边这个地址
http://g2.ykimg.com/01270F1F464C6A111D3A1F000000004559563A-7902-DA06-25C0-3D1EDD5B65F6我看其它网站都有这个预览图片,我想知道这个图片地址怎么得到的 谢谢
播放视频我已经做好了,我想问的是怎么得到视频的预览图片的地址。播放前是个预览图片:点击播放后才是视频:
比如视频 http://v.youku.com/v_show/id_XMTk4Njc1MjI0.html
对应的预览图片是下边这个地址
http://g2.ykimg.com/01270F1F464C6A111D3A1F000000004559563A-7902-DA06-25C0-3D1EDD5B65F6我看其它网站都有这个预览图片,我想知道这个图片地址怎么得到的 谢谢
同样土豆的视频也有个对应的土豆域名的url地址意思是优酷网站及土豆网站, 一个视频对应这一个图片地址。
用户把优酷的视频地址分享到了我的博客网站,我如何通过视频url获得对应的图片地址,
这个图片不是我截取的,我也不会保存此图片到自己服务器上,
只是简单的链接到视频网站的图片服务器。
这个东西太慢了吧,而且并发的时候,几十个用户同时调用用ffmpeg.exe 会有问题
根据用户输入的URL,使用编程下载此url页面,用正则表达式找到视频的图片地址和视频地址
保存在自己数据库中。
页面展现时候绑定上面的视频图片和视频地址 即可
{
public class TodouPicker : ResourcePicker
{ public TodouPicker(string url)
: base(url) { } /// <summary>
/// 获取资源
/// </summary>
/// <returns></returns>
public override Resource GetResource()
{
string videoId = "";
if (Url.StartsWith("http://www.tudou.com/v/"))
{
videoId = Url.Split('/')[4];
}
if (Url.StartsWith("http://www.tudou.com/programs/view/"))
{
videoId = Url.Split('/')[5];
}
if (Url.StartsWith("http://www.tudou.com/playlist/playindex.do"))
{
Match m3 = Regex.Match(Url + "$", @"(?<=iid=).*?(?=\$|&)");
videoId = m3.ToString();
if (string.IsNullOrEmpty(videoId))
{
m3 = Regex.Match(Response, @"(?<=defaultIid=).*?(?=,)");
videoId = m3.ToString();
}
videoId = m3.ToString();
} Match m = Regex.Match(Response, @"(?<=<h1>).*?(?=</h1>)");
Match m2 = Regex.Match(Response, @"<span class=""s_pic"">(.*)<\/span>");//(?<=<span\s*id="s1">)[^<]+(?=</span>)
// /<span class=\"s_pic\">(.*)<\/span>/
res.Url = Url;
res.Title = m.ToString();
res.Thumb = m2.ToString();
res.Type = ResourceType.Video;
res.Content = "http://www.tudou.com/v/" + videoId + "";
return res;
} protected override void Init()
{
DownloadData = client.DownloadData(Url);
Response = System.Text.Encoding.GetEncoding("GBK").GetString(DownloadData);
}
}
}
这个取土豆的