文章采集站(采集土豆为例,谈谈如何以最简单粗暴的方式采集视频 )
优采云 发布时间: 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