文章采集站(采集土豆为例,谈谈如何以最简单粗暴的方式采集视频 )

优采云 发布时间: 2022-04-09 02:18

  文章采集站(采集土豆为例,谈谈如何以最简单粗暴的方式采集视频

)

  许多网站管理员一开始是“垃圾站”。什么是“垃圾场”?说白了就是采集把别人的数据存到自己的数据库里,聚合、整理、分类,或者自己加一些小修改,然后自己做一个程序,变成自己的网站 . 最受欢迎的“垃圾站”多在文章内,因为文章内更容易采集,而且数据量大,有利于搜索引擎。前两三年,有人开始做视频采集站,甚至还有一些非常完善的视频采集系统(比如Maxcms,很专业),还有一些站长也发布了一笔意外之财。但是随着用*敏*感*词*的人越来越多,车站开得越晚,越不成功,呵呵。解决方法其实挺简单的,利用视频采集网站泛滥的情况,自己写视频采集网站,不需要别人做的通用系统,你只需要做一点SEO,搜索引擎就会照顾你咯~o(∩_∩)o。

  下面以采集土豆为例,讲讲如何用最简单粗暴的方式来播放采集视频。

  成功案例:(康熙又来了)

  自从 Youtube 出现以来,视频 采集 网站根本不需要 采集 视频 - 它只需要 采集Flash 播放器参数。

  例如,在下面的视频中,我们只需要 采集 到它的参数“K1hf2uocE1Y”。当然,为了显得更专业,我们还需要采集视频的相关信息,比如视频名称、视频时长、观看次数、网友评论、内容介绍等,这些都是从一种情况,^_^,一切都存储在我们自己的数据库中!

  既然是垃圾站,就必须有自己的分类。让我们以此为起点!使用土豆搜索功能!

  搜索“康熙来了”+日期,可以得到某个日期的“康熙来了”节目,比如“康熙来了20090720”,我们就来%BF%B5%CE%F5%C0%B4%C1 % CB20090720

  你说对了?我们定时让程序打开%BF%B5%CE%F5%C0%B4%C1%CB + 'current date' 来达到自动采集的效果。

  如何使用 ASP.NET 获取 HTML?这是一个非技术性的问题。我们直接给出代码。

  ///

/// 获取网页内容

///

///

///

public static string GetHtml(string url)

{

string result = "";

try

{

WebRequest request = WebRequest.Create(url);

WebResponse response = request.GetResponse();

StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("GBK"));

result = reader.ReadToEnd();

}

catch

{

result = "";

}

return result;

}

  接下来,我们分析生成的 HTML。在这个时代,每个人都采用 div+css,这也让我们的 采集 变得简单。哎,仔细想想,当土豆用div+css做接口的时候,肯定会为每个“程序”做一个css类吧?嗯,没错!分析完源文件,果然,我们发现在搜索程序列表中,每个程序都使用了“pack pack_video_card”的css类。

  我们应该做什么?将整个源文件作为一个字符串,后跟"

  " 作为分隔符,将字符串切割成字符串数组。这样,在得到的字符串数组中,除了第一个字符串不是视频外,其他每个字符串都收录我们需要的视频信息!

  代码显示如下:

  string[] list=html.Split(new string[]{""},StringSplitOptions.RemoveEmptyEntries);

  添加一些简单的控制条件,然后将每个字符串片段的信息提取到类中。

  如采集视频缩略图:

   foreach (string s in list)

{

   begin = s.IndexOf("src")+5;

end = s.IndexOf("</a>")-4;

v.ImgUrl = s.Substring(begin, end - begin + 1);

  …………

  }

  有了这样的基础,就可以进一步封装成一些函数来快速采集。如:

<p>///

/// 获取两个日期段之间的所有视频实体

///

///

///

/// 每天的最大视频数

///

public static List GetVideoByDate(DateTime beginDate, DateTime endDate,int everydayMax)

{

ByDateVideoList = new List();

DateTime dt = beginDate;

while (dt

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线