bing视频搜索如何从这么多不同的网站中提取视频?

时间:2010-05-12 15:26:20

标签: flash video bing

他们是在反编译闪光灯还是这样的?我无法想象他们是如何做到的。

1 个答案:

答案 0 :(得分:1)

只是推测,但他们可以看到Flash SWF文件连接到什么(即根据SWF文件发出的HTTP请求查找FLV URL)。一旦他们这样做,他们可以做两件事之一:

1)将网址排队到以下过程:i)下载FLV,ii)将FLV剪切为10秒长,iii)添加淡入/淡出,iv)保存。

2)他们每次使用原始网址都可以直接连接到FLV,只玩10秒。然后,他们可以在视频顶部添加淡入/淡出等效果。虽然,

我怀疑他们是否会使用第二种方法,因为它可能会导致人们服务器出现恼人的尖峰,并且可能会增加延迟。第一种方法允许Bing服务器缓存视频,并将它们托管在一个专用于视频流的可靠位置。

<强>更新

想想看,有另一种方法可以做到这一点:

我知道在PHP中你可以动态反编译编译的SWF。它很快,这将是一个提取任何网址的简单方法。当然,微软不会使用PHP,但我很确定他们有一个用C ++编写的等效库(我很确定他们使用的是C ++)。

但即使他们正在寻找对FLV的HTTP请求,他们也可能在轻量级“浏览器”中运行爬虫。浏览器需要渲染闪存,然后发出HTTP请求,然后记录所有绑定的请求。如果您正在运行自己的服务器,这不是一项艰巨的任务,您可以只拥有一个后台进程并搜索日志以查找FLV请求。创建自己的浏览器来执行此操作可能听起来令人生畏,但实际上非常简单(ish):在C#中,您可以对URL进行HttpRequest,扫描文档以查找任何链接,对链接进行排队,请求每个链接,然后以此方式循环(确保您没有访问过您已访问过的链接)。在PHP中,您可以卷曲URL并执行相同的操作。无论何时找到SWF链接,您都可以将其添加到另一个队列,一个可以呈现闪存(或反编译)的队列,并找到FLV URL的任何链接,然后根据需要排队。