CN101443751A - 用于应用爬取器的方法和装置 - Google Patents
用于应用爬取器的方法和装置 Download PDFInfo
- Publication number
- CN101443751A CN101443751A CNA2005800470294A CN200580047029A CN101443751A CN 101443751 A CN101443751 A CN 101443751A CN A2005800470294 A CNA2005800470294 A CN A2005800470294A CN 200580047029 A CN200580047029 A CN 200580047029A CN 101443751 A CN101443751 A CN 101443751A
- Authority
- CN
- China
- Prior art keywords
- application
- instantiation
- document
- file
- climb
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
提供了一种计算机实现的方法以用于搜索因特网上的文件。在一个实施例中,该方法可以提供应用爬取器,其组装并动态地实例化网页的所有组件。然后,对该实例化的web应用进行分析以定位网页上的期望组件。这可以包括查找并分析应用中的所有可点击项目,通过插入事件来驱动web应用,以及从该应用中提取信息并将该信息写入文件或数据库。
Description
技术领域
本技术领域涉及搜索引擎,并且更具体地涉及能够搜索视频文件且被设计为从现代网页和web应用中提取详细信息的搜索引擎。本发明的应用爬取器与标准web爬取器在许多方面有显著的不同。
背景技术
标准web爬取器(crawler)最初为网页而设计,其中大量关于网页的有用信息包括在HTML文本文件T中。图1A示出了将现有的标准web爬取器应用到当前网页时的不足。在现有的网页中,在多种不同的文件中包括关于网页的有用信息越来越普遍,这些信息在浏览器中被组合以创建完整的应用。现代web应用中所使用的一般文件包括:
●多个HTML文件和框架集
●图像文件,例如GIF或JPEG
●Javascript、Jscript和VBScript文件
●XML数据文件
●ActiveX控件或者浏览器插件
●视频和音频流
●Flash动画
●HTML行为
●嵌入式媒体播放器
在当前的现代web应用中,对于单个网页而言,根据所有这些技术来创建网页是很平常的。因此,今天的网页不再是简单的静态文档。在许多情况下,他们是多功能性的动态应用,这些功能性动态应用保持复杂的状态并且执行缜密的动作以响应用户的输入或其他浏览器或定时器事件。
因此,需要一种被专门设计成能够理解这些现代web应用中的有用信息并能够从这些现代web应用中提取有用信息的应用程序。因此,其能力远远超越传统web爬取器的能力,这种传统web爬取器一般只能理解诸如HTML、PDF之类的静态文件类型。
发明内容
本发明为以上论述的至少一些缺陷提供了解决方案。具体地,本发明的一些实施例提供了一种爬取器,其不仅解析HTML文件中的文本,而且检查指示存在视频文件的链接的内容。本发明提供了一种改进的爬取器,其可以更加彻底地在因特网上搜索文件,例如视频文件、媒体文件、多媒体流服务和/或非静态文件类型,但不仅限于此。本发明还提供了一种改进的爬取器,其能够在因特网上搜索特定的信息段,例如文本串、图像、文档对象模型的节点和/或一般包括在现代web应用中的其他种类的数据对象,但不仅限于此。与现有的因特网爬取器相比,本发明可以从网页中提取更加详细的信息。此处所述的这些和其他目的中的至少一些将由本发明的实施例来实现。
在一个方案中,本发明提供了一种在文档或应用的对象空间或对象模型中(特别是在因特网上)爬取(crawl)对象的方法。特别地,本发明爬取万维网(WWW)中的对象模型。当在web上执行文件或页面时,可以将本发明的爬取器应用于功能性应用或者实例化的应用,而不仅仅是非实例化的应用和/或静态文档。这个索引出现在单个web应用内和遍布因特网的多个web站点上。这可以涉及检查对象模型,并且在许多机器、网络或者站点上进行该检查。在一个实施例中,对象空间的爬取或者索引出现在应用和/或网络的分布式集合上。在过去,不需要这么做,因为先前web文档的页面一般是单一的和静态的,并且不需要被实例化来完全探知其中的内容。而现在的应用和文档已经变得十分复杂,从而期望爬取对象空间以寻找所有可用的内容。另外,以前,通过现有技术不容易访问到这些对象,并由此没有将爬取器设计成爬取对象空间。
在本发明的一个实施例中,一旦文档被实例化,就发生对对象空间的爬取。换言之,本发明爬取功能性应用。这使得爬取器能够在应用或网页被实例化后就寻找被加载的另外的对象或者元素。在不进行实例化的情况下,许多内容可能是不可见的。就能够被找到的内容而言,读取的静态文件和已经在运行的应用中被实例化的文件之间存在差异。
在本发明的一个实施例中,提供索引器,其可以到达并检查任何电子形式的文档或应用媒体文件并编制其内容的索引。其通过到达该应用的任何节点或者元素并将其记录在数据库中或者让指针指向它来实现。该方法适用于实例化的应用的对象模型(段或对象)的任何节点和元素。
更具体地,在一个实施例中,可以将本发明的应用爬取器配置为加载、组装和实例化全部web应用。如图1B所示,当今的网页载有多种组件,例如可以同时运行的脚本和嵌入式控件,但不仅限于此。在该图的上部,具有使用动态HTML的页,传统的爬取器没有被设计用于这种使用动态HTML的页。本发明可以提供能够加载和实例化所有这些组件的爬取器。在该应用的实例化实例中,其寻找软件对象,该软件对象可以指示例如(但不限于)视频内容等内容。爬取器将模拟在网页上按下按钮或者点击链接并将利用这种方法搜集的信息存储到文件或数据库中。
在本发明的另一个实施例中,提供了一种用于应用爬取器的方法。1)在一个方案中,应用爬取器可以加载共同创建web文档(不仅仅是HTML文档)的所有组件。作为实例而非限制,其包括多个HTML文档、多个脚本、嵌入式软件、加载到背景中的样式表、html行为(单独脚本)、XML文件和/或所有为网页加载的各种文件。2)在另一个方案中,应用爬取器可以被设计为将网页的多个组件组装成一个并被实例化,因此其被看作一个应用,这与文本文档不同。3)在又一个方案中,该应用爬取器可以得到该对象表示,然后取出与文件(例如但不限于视频文件)有关或与显示给用户的信息有关的元数据的特定段。也就是说,对象空间中可用的元数据可以不与“文件”有关,而是与任何正在显示的信息有关。还需要考虑的时间线。相关的元数据可以与当前正显示的信息有关,这或者是作为web应用所确定的预定时间线的结果(在Flash动画中常见)或者作为具体用户动作的结果(例如出现弹出窗口是用户点击的结果)。在一个实施例中,该应用可以到达视频流或视频播放器并且拽取出相关的数据。本发明可以考虑由视频流激发的事件并通过这种方式获得信息。
在本发明的另一个实施例中,可以使用RSS订阅(RSS feed)来将目标URL提供给爬取器,以用于检查。在该实施例中,爬取器可以检查整个对象空间和对应于所提供URL的实例化web应用的对象模型。爬取器可以从媒体播放器或者web应用中的其他地方提取元数据。这样,在该实施例中,爬取是经由RSS指针到页。该爬取器由RSS订阅指引,该RSS订阅提供一个具有http链接的URL。这样,爬取可以包括:1)爬取可点击项目的树并且以用户可能的方式(但是是以等同或类似于人的方式的自动方式)将他们激活和/或2)经由页或应用的种子列表进行爬取(例如URL列表、应用指针列表或者来自RSS订阅的列表)。
在本发明的另一个实施例中,应用爬取器可以使用以下三种模板中的任意一种:1)一种用于站点自身的模板(定时、商业等,在哪开始搜索),2)链接探测器(寻找链接),和/或3)用于数据提取的模板(标题、导演、作者等的位置)。例如,爬取和索引可以基于暂时事件(其他事件出现时同时出现的变化的暂时同步)、空间关系(可视空间关系)或其他触发器而出现。使用第一种模板,爬取器模拟终端用户的活动,例如点击网页上的按钮。定时事件(例如在30秒后看一个对象)也可以是一个受控的模板并且允许爬取器更彻底地探查网页。所述模板可以指示爬取器等待一定的时间间隔,然后再次搜索对象树。控制定时的这种模板特别适用于挖掘当今复杂网页中的内容。
模板还可以用于从实例化的应用中提取特定的信息段。爬取器可以使用模板来识别对象模型的部分或者节点、文本串、应用的对象空间中的单个对象或者对象集合,和/或包括在应用中的页或文件。作为非限制性的实例,本发明的爬取器可以搜集关于视频持续时间、视频分辨率、视频标题、视频说明、视频质量、视频来源和/或其他相关信息的信息。搜集的元数据被存储在数据库中。应该理解的是,在一个实施例中,模板可以是指令集和/或编程代码,其指示爬取器如何爬取网页、应用等和/或对网页、应用等编制索引。
本发明还可以包括用于爬取媒体播放器对象的应用爬取器。遍历对象树使用非常简单的应用爬取器。爬取器可以知道将进行视频播放。这种简化的爬取器可以验证URL以确保数据完整性并且还可以定位视频文件。这种简化的爬取器对富动态内容(例如,广告等)的一些网页是有用的,加载所有文件可能是负担。
在本发明的一个实施例中,提出了一种计算机实现的方法,其包括对多个运行的被实例化的文档或应用的对象模型进行爬取和编制索引。该方法可以包括爬取,其包括逐个访问各个机器,以便遍历每台机器上的至少一个文档或应用。这些机器可以位于不同的物理位置,并且耦合到计算机网络上。爬取还可以包括以与人工用户的方式基本类似的自动方式跟踪可点击项目树并激活这些项目。
本方法可以包括跟踪页或应用的种子列表。本方法包括跟踪选自下列列表中的至少一个的页或应用的种子列表:URL列表、应用指针或RSS订阅。该方法可以包括遍历被实例化的文档或应用的对象方法中的对象树。该方法可以包括遍历被实例化的文档或应用的对象模型中的对象树并记录对象位置和内容。本方法可以包括加载文档或应用;实例化文档或应用;遍历实例化文档或应用的对象模型中的对象树。本方法可以包括到达正运行的被实例化的文档或应用的对象模型中的任何节点并将该节点记录在数据库中。在另一个实施例中,本方法可以包括到达正运行的被实例化的文档或应用的对象模型中的任何节点并将该节点的指针存储在数据库中。在另一个实施例中,本方法可以包括将与媒体有关的多个通用资源定位符(URL)存储在数据库中。
本方法可以包括遍历被实例化的文档或应用的对象模型中的对象树并模拟鼠标、键盘或其他用户事件。本方法可以包括在鼠标事件、键盘事件、其他用户事件、浏览器事件或媒体播放器事件后等待一个限定的时间段,然后遍历对象树。本方法可以包括在鼠标事件、键盘事件、其他用户事件、浏览器事件或媒体播放器事件后等待一个限定的时间段,然后遍历作为事件结果而被显示的新的应用或文档的对象树。所述对象可以是被实例化的文档或应用的对象模型的任何节点或元素。正被爬取的文档或应用可以包括下列各项中的至少一项:字处理文件、Acrobat文件、电子数据表、浏览器应用、媒体播放器、多媒体应用或者嵌入在媒体流中的元数据报头。正被爬取的文档或应用可以包括操作系统。正被爬取的文档或应用可以包括文件系统。
本方法可以包括爬取下列类型的网络:内联网、单机或者单机上的多个应用。本方法可以包括爬取因特网。本发明可以包括爬取TCP/IP网络上的任何设备。本方法可以包括爬取公用网络上的任何设备。本方法可以包括爬取专用网络上的任何设备。本方法可以包括被完全实例化的应用或文档。在本发明的一些实施例中,仅实例化应用或文档的一部分。本方法可以包括实例化视频文件。本方法可以包括实例化视频流。本方法可以包括将数据查询接口添加到正运行的被实例化的文档或应用中的软件对象,以便与应用爬取器连接。本方法可以包括降低安全控制以允许访问对象模型。
在本发明的另一实施例中,提出了一种计算机实现的方法,以便通过计算机网络搜索视频文件。本方法包括爬取和索引多个正运行的被实例化的文档或应用的对象模型以定位视频文件。
在本发明的另一实施例中,提出了一种计算机实现的方法,以便创建可搜索的数据库。本方法包括爬取多个正运行的被实例化的文档或应用的对象模型以定位视频文件;通过将指向视频文件的指针保存在数据库中来为在对象模型中找到的视频文件编制索引;以及从对象模型中提取关于视频文件的元数据并将该元数据保存在数据库中。
在本发明的另一实施例中,提出了一种通过因特网搜索文件的计算机实现的方法,包括提供一个协议爬取器以便识别富视频的web站点;以及提供应用爬取器。该应用爬取器可以包括查看器,其用于动态实例化和组合所述富视频web站点之一的网页的所有组件,以创建至少一个被实例化的web应用。应用爬取器可以还包括提取器,其用于识别包括有用信息的被实例化web应用的特定部分并提供提取该信息到元数据记录所需要的逻辑;以及爬取器,其用于分析被实例化的web应用、查找并分析该应用中的所有可点击项目、通过插入事件来驱动web应用、以及从应用中提取信息并将其写入文件或数据库。
在一个实施例中,查看器可以包括用于下列各项中至少一项的软件组件的代码:文档对象模型(DOM)工具,其用于一个或多个浏览器;脚本引擎,其能够执行JavaScript、JScript、ECMAScript或者VBScript;XML解析引擎;层叠样式表引擎;网络I/O库;HTML解析和渲染引擎;用于执行诸如ActiveX控件等嵌入式控件的引擎;以及用于渲染web应用的引擎。
在一个实施例中,提取器可以包括用于下列各项中至少一项的软件组件的代码:XSL引擎;XPath工具;正则表达式引擎;脚本执行引擎;用于组件的嵌入式对象查看器,组件例如是ActiveX和COM对象,但不仅限于此;网络传输代理,例如http代理;rtsp或其他多媒体流代理;软件桥,其与外部程序框架的类库一起处理数据;分类引擎,其用于对元数据分类;或者文本解析和处理引擎。
在一个实施例中,爬取器可以包括用于下列各项中至少一项的软件组件的代码:文件I/O库;网络I/O库;或者用于生成和存储日志文件的库。
在本发明的另一个实施例中,提出了一种计算机实现的方法,以便通过因特网搜索文件。本方法包括:查找目标URL;下载目标URL的HTML文件;基于HTML文件中的信息,下载用于构建完整web应用的补充数据文件;组装来自所述补充数据文件和HTML文件的应用组件;实例化应用组件以创建web应用;应用数据查询接口到web应用中的所有对象,其中该web应用可能包括有用的数据;加载预定义的应用模板或者生成并自动定义应用模板;运用应用模板以从web应用提取所有需要的信息;将所需要的信息作为结构数据信息记录保存到文件或数据库;检查web应用中的所有组件以识别可以响应鼠标事件或形成可点击项目的所有可能组件;确定自上一次模拟鼠标事件后已经出现了哪些可点击项目;将新的可点击项目存储在适当的数据结构中,例如包括在所有可能应用状态下的应用中的所有可点击项目树的新的分支;以及模拟鼠标点击可点击项目树的当前分支中的第一个可点击项目。
本发明可以包括重复该方法,直到已经遍历了整个可点击项目树为止。实例化步骤包括下列各项中的至少一项:渲染HTML并且构造文档对象模型;应用样式表;执行适当的脚本解释器中的脚本;激活任意控件或者插件,例如ActiveX控件;启动视频流或音频流;启动动画,例如Flash动画;或者执行HTML行为脚本。
在本发明的另一个实施例中,计算机系统包括具有程序代码的应用爬取器,该程序代码用于从web站点爬取正运行的、被实例化的文档或应用的对象模型并为其编制索引。该系统还可以包括协议爬取器,以识别所检查的web站点,其中所述应用爬取器从web站点爬取正运行的、被实例化的文档或应用的所述对象模型并为其编制索引。该应用爬取器可以包括查看器,其用于动态实例化和组合web站点之一的网页的所有组件,以创建至少一个被实例化的web应用。应用爬取器还可以包括提取器,其用于识别包括有用信息的被实例化的web应用的特定部分并提供提取该信息到元数据记录所需要的逻辑。另外,应用爬取器可以包括爬取器,其用于分析被实例化的web应用、查找并分析该应用中的所有可点击项目、通过插入事件来驱动web应用、以及从应用中提取信息并将其写入文件或数据库。协议爬取器识别用于检查的web站点,该web站点包括至少一个视频文件,至少一个媒体文件,或者下列文件中的至少一个:mpeg文件、avi文件、rm文件、flash文件、a.ts文件、a.wmv文件或QuicktimeTM文件。应用爬取器配置为查看可点击项目树并以自动方式激活每一个项目,这种自动方式基本类似于人工用户的方式。应用爬取器可以使用模板,其配置为用于下列各项中的至少一项:数据提取、跟踪链接的定时、爬取的深度、如何跳过广告、从何处开始爬取、查找链接、标题的定位、媒体文件元数据的定位、时间同步或者指示爬取器等待特定的事件间隔,然后再次爬取对象树。
在本发明的另一实施例中,提出了一种计算机系统,其包括应用爬取器和用于识别富视频web站点的协议爬取器。该应用爬取器可以包括查看器,其用于动态实例化和组合所述富视频的web站点之一的网页的所有组件,以创建至少一个被实例化的web应用;提取器,其用于识别包括有用信息的被实例化的web应用的特定部分并提供提取该信息到元数据记录所需要的逻辑;以及爬取器,其用于分析被实例化的web应用、查找并分析该应用中的所有可点击项目、通过插入事件来驱动web应用、以及从应用中提取信息并将其写入文件或数据库。
在本发明的另一实施例中,提出了一种计算机实现的方法,其接收目标URL以及编制多个正运行的、被实例化的文档或应用的对象模型的索引。接收步骤可以包括接收URL列表。接收步骤还可以包括接收下列各项中的至少一项:URL列表、应用指针列表或者RSS订阅。本发明可以包括遍历被实例化的文档或应用的对象模型中的对象树。
在本发明的另一实施例中,计算机程序产品包括计算机可用介质和包括在所述计算机可用介质上的计算机可读代码。计算机可读代码包括计算机可读程序代码,该计算机可读程序代码配置为使计算机实施对正运行的被实例化的文档或应用进行爬取并为其编制索引。
通过参照说明书的余下部分和附图,对本发明的本质和优点的进一步理解将变得显而易见。
附图说明
图1A示出了现有爬取器的查找结果;
图1B示出了本发明的爬取器所找到的更具体的信息;
图2是本发明的一个实施例的示意图;
图3是查看器的一个实施例的示意图;
图4是提取器的一个实施例的示意图;
图5是爬取器的一个实施例的示意图;
图6示出了本发明方法的一个实施例;
图7示出了本发明方法的另一个实施例;
图8是数据融合的一个实施例的示意图;
图9示出了本发明方法的另一个实施例。
具体实施方式
应该理解的是,上述总体说明和下列具体说明都仅仅是示例性和说明性的,而非是对本发明的限制,如所要求的那样。应该注意:如说明书和所附权利要求所使用的那样,单数形式亦指代复数形式,除非上下文清晰指示不是这样。因此,例如,“爬取器”可能指代多个爬取器等。此处所引用的参考文献通过援引并入本说明书中,除非他们明显与说明书中所提出的技术相矛盾。
作为概述,诸如爬取器等程序将对计算机网络进行预遍历以搜索文档(例如网页)并且构建大的索引文件或者文档中所找到的链接、关键词和/或元数据的数据库。当用户确定一个包括一个或多个搜索条件的查询时,用户将该查询提交给搜索引擎的另一个程序。作为响应,该搜索引擎查看其索引文件并且显示匹配该搜索查询的文档列表,一般为超链接。然后,用户一般将激活其中的一个超链接以便观看文档中所包括的信息。
如图1A和图1B所示,在搜寻诸如(但不限于)媒体文件之类的文件方面,Truveo应用爬取器10对传统爬取器进行了大量改进。如图1B所示,爬取器10可以检查并操作包括多种组件的复杂web应用,这些组件例如是视频流11,背景加载XML数据岛12,浏览器插件和ActiveX控件13,脚本生成HTML片段14,非锚(non-anchor)“onClick”链接15,由脚本执行、用户事件或定时器事件所产生的表元素、页元素16,动态应用的样式表17,HTML行为18等等,但不仅限于此。爬取器10可以检查并操作web应用,该web应用包括单个或多个文档、帧、框架、文件、对象、应用程序和/或窗口。可以将关于每个媒体文件的信息作为视频数据记录保存在数据库中。视频数据记录19可以包括(但不限于)诸如标题、描述、URL、类型、视频时间或者长度、比特率和日期之类的信息。
作为概述,本发明的一个实施例可以包括协议爬取器2、储存库4、推荐引擎6以及应用爬取器10。协议爬取器2是高吞吐量HTTP引擎,其爬取web并识别可以提供视频内容的站点。协议爬取器2指挥应用爬取器10来爬取特定的站点并为其编制索引。将应用爬取器10收集的信息存储在储存库4中。可选地,推荐引擎6可以用于帮助提供对针对储存库发出查询的有用响应。
Truveo应用爬取器的设计
现在参考如图2所示的实施例,Truveo应用爬取器10可以包括三个组件,这三个组件协调工作以提供完整功能。这三个组件是(1)查看器20,(2)提取器30,以及(3)爬取器40,将在下面对他们进行说明。然而,应该理解,这只是本发明的一个实施例,而其他实施例可能以不同的顺序来组合这些组件的功能性或者将这些组件的功能性组合在较少的组件中。作为一个非限制性实例,查看器20可以与提取器30组合,查看器20可以与爬取器40组合,等等。
作为概述,应用爬取器10的技术使得能够爬取当今的复合web应用。作为爬取器10的非限制性实例,查看器20动态地实例化所有的组件并将这些组件组装成一个完整的功能性应用。提取器30可以是自适应数据挖掘引擎,其使用XPath、脚本、XSL和DOM导航以提取大量的元数据。爬行引擎40识别动态链接并产生用户事件和定时器事件。应该理解的是,关于图2,本发明的一些实施例可以具有RSS订阅9(虚线所示)和其他XML订阅或者甚至简单的web站点列表,作为应用爬取器10的独立输入源,代替协议爬取器2。应用爬取器10的另一实施例在没有协议爬取器或者RSS订阅作为输入的情况下使用。
查看器
在本实施例中,查看器20负责下载所有的web应用组件、实例化web应用并且将“数据查询接口”应用到存在于该应用中的所有对象上。为了实现该功能,查看器20可以提供几个软件组件,这些软件组件可以用来执行这些任务,如图3所示。作为实例而非限制,这些软件可以任意包括:
用于一个或多个浏览器的文档对象模型(DOM)工具21;
能够执行JavaScript、JScript、ECMAScript、XAML或者VBScript的脚本引擎22;
XML解析引擎23;
层叠样式表引擎24;
网络I/O库/引擎25;
HTML解析和渲染引擎26;
用于执行诸如ActiveX控件等嵌入式控件的引擎27;
用于渲染web应用的引擎28。
在本实施例中,查看器20下载和实例化如下的web应用组件。首先,它下载给定目标URL的HTML页或者框架。这可以使用标准HTTP GET操作来实现。基于父HTML页或者框架中的内容,查看器20随后下载所有用于组装完整应用的附加文件。这些文件包括脚本,图像,样式表,数据文件,插件,ActiveX控件,音频或视频流,或者支持完整应用所需要的任何其他组件。
一旦下载了所有的应用组件文件,然后查看器20就通过使用适当的软件组件(例如上面列出的软件组件)来实例化该应用。
一旦已经实例化了所有的单独应用组件,并且整个web应用已经被组装,则查看器20将“数据查询接口”应用到所有被实例化的软件对象。这些“数据查询接口”可以是封装模块(wrapper),该封装模块(wrapper)使用标准接口来封装web应用中的软件对象,Truveo应用爬取器10可以使用所述标准接口从页中以自动化方式提取信息。例如,“数据查询接口”可以应用到文档对象模型中的每一单个元素,这使得应用爬取器10能够查询该DOM元素的任何属性和样式。类似地,“数据查询接口”可以应用到在web应用中实例化的每个媒体播放器,这使得应用爬取器10能够向媒体播放器查询媒体播放器的属性以及关于任何下载的音频或视频流的元数据。可选地,应该理解的是,“数据查询接口”的一些实施例可以不使用封装模块来封装软件对象。一些实施例可以使用直接连接。
提取器
Truveo应用爬取器10的这个实施例的第二主要组件是提取器30。在本发明的当前实施例中,提取器30负责识别被实例化web应用中包括有用信息的特定部分并且提供提取该信息到元数据记录所需要的逻辑。为了实现该功能,提取器30提供多个软件组件,所述软件组件用于执行这些任务,如图4所示。作为实例而非限制,这些软件组件可以任意包括:
XSL引擎31;
XPath工具32;
正则表达式引擎33;
脚本执行引擎34;
用于组件的嵌入式对象查看器35,组件例如是ActiveX和COM对象,但不仅限于此;
网络传输代理36,例如http代理;
rtsp或其他多媒体流代理37;
软件桥38,用于使用外部程序设计框架的类库来处理数据(例如,连接.NET的桥来进行元数据的附加处理);
分类引擎39,其用于对元数据进行分类;
文本解析和处理引擎41。
在本实施例中,提取器30通过以下各项来识别包括有用信息的web应用中的特定部分:(1)、使用自动算法来识别包括有用数据的应用中的对象;(2)、使用预定义模板,所述模板使用有用数据来识别对象;或者(3)、(1)和(2)的组合。作为提取器用来识别web应用中的信息的自动算法的非限制性实例,提取器可以基于在特定时间发生的DOM的变化、基于相对于页上特定对象的空间接近性、基于可视特性或者可视样式、基于对存在的特定DOM结构的识别和/或基于对web应用中存在的特定文本或其他类型的信息的识别来识别信息。应该理解的是,在一个实施例中,这些自动算法使用提取器30的组件,如加载和使用的模板所指示的那样,以用于特定的网页、应用等。作为能够用于识别有用数据的模板的非限制性实例,提取器30可以使用“数据查询接口”的方法或属性,所述“数据查询接口”由查看器20、DOM路径名、XSL或者Xpath过滤器、正则表达式、脚本代码的片段或者上面的任意组合所应用。这些技术还可以层叠以进一步地提炼所提取的信息。提取器30使用这种嵌入式逻辑从页中提取所有有用的信息,并在被请求后将其以结构元数据记录的形式返回。
爬取器
Truveo应用爬取器10的这个实施例的第三主要组件是爬取器40。在本发明的当前实施例中,爬取器40负责分析被实例化的web应用、寻找并分析应用中的所有可点击项目(aka onClick、点击事件等)、通过插入事件来驱动web应用、以及从应用中提取信息并将其写入文件或数据库。为了实现该功能,爬取器40提供多个软件组件,依靠所述软件组件来执行它的任务。作为实例而非限制,这些软件可以包括:
文件I/O库42;
网络I/O库43;
用于生成和存储日志文件的库44;
事件监视器45。
在本实施例中,爬取器40分析web应用并且查找页中能够响应鼠标点击事件的所有可能项目。这些项目称为“可点击项目”。为了实现该功能,爬取器40识别页项目,例如:
(1)HTML标记,例如链接(即<A>)标记,其可以响应鼠标点击事件;
(2)包括有效的“onClick”句柄的HTML元素,或者包括有效“onClick”句柄的DOM中的对象的孩子;
(3)HTML元素,其关联到用于处理鼠标点击事件的HTML行为;
(4)任何嵌入式控件内的元素或对象,例如Flash对象或者媒体播放器,其可以响应鼠标事件;
(5)HTML元素,当被点击时,其使网页执行表单提交。
一旦爬取器40已经识别出应用中的所有“可点击项目”,爬取器40将他们存储在数据结构中,例如树,也称为“爬取树”。
在本实施例中,爬取器40还负责通过插入事件和监视事件来驱动和监视web应用。例如,爬取器40将事件插入到应用中,例如但不限于鼠标上移、鼠标下移或者鼠标点击事件,以便模拟用户点击链接的动作。爬取器40还可以插入定时器事件、媒体播放器事件或者浏览器事件,例如页面重载,以便按照需要控制web应用。这样,作为非限制性的实例,爬取器40可以等待,直到在模拟的鼠标、键盘或者其他用户事件后为止。爬取器40也可以等待,直到程序上生成的事件、浏览器事件和/或媒体播放器事件之后为止。除了驱动应用之外,爬取器40还监视该应用以便检测各种事件。例如,爬取器40可以检测这样的事件,即指示将新的数据载入应用的时间的事件,或者指示启动新的视频或者音频流的时间的事件。这些事件全部都由全局应用事件监视器监视。基于出现或者没有出现的特定状态和/或事件,事件监视器负责监视给定web应用的状态、监视web应用所产生的事件、以及控制爬取器40的执行。作为非限制性实例,事件监视器可以监视(1)文档对象模型的特定部分或者给定web应用或者嵌入式控件的对象状态,(2)显示web应用所使用的部分或所有屏幕缓冲存储器的变化,和/或(3)网页、媒体播放器或者嵌入式控件所产生的事件。
在正常操作下,爬取器40在对应于第一目标URL的web应用已经被完全实例化时开始操作。在这点,爬取器40识别页面上所有的“可点击项目”,然后模拟鼠标点击列表中的第一个“可点击”项目。在这点,事件监视器监视应用的变化以响应模拟的点击。基于事件监视器中的编码逻辑,一旦接收到特定的事件(例如,页面加载或者组件激活),事件监视器就触发提取器30,以返回包括来自web应用的所有期望信息的元数据记录。然后,爬取器40获得该元数据记录,并且将其写到存储器、文件,或者将其插入数据库。一旦已经收集到该数据,爬取器40就重新检查web应用并且识别自上次模拟鼠标点击以来已经出现的任何新的可点击项目。将这些新的可点击项目附加到“爬取树”数据结构。然后,爬取器40进行到“爬取树”中的下一“可点击项目”,模拟对该项目的鼠标点击,并且重复上面的步骤。爬取器40以这种方式继续,直到已经找到并点击web应用中的所有可点击项目为止。当完成时,爬取器40接着进行到目标URL列表中的下一个URL。爬取器40还可以包括用于爬取该树的模板。在一个实施例中,模板可以包括用于导航的路径以及具体的时序指令。应该理解的是,除了别的以外,本发明所使用的模板可以不仅仅管理数据提取,而且还管理在何处查找链接,跟踪链接的时刻、爬取的深度、如何跳过商业广告等。
Truveo应用爬取器的工作
现在参照图6,在其标准工作模式下,当前Truveo应用爬取器10的实施例可以采取以下步骤。尽管下面探讨了HTML文件的下载,但是下面也适用于任何web应用或者文档,例如XAML、XML、Acrobat、Flash文件或者任何可下载的网页,但不仅限于此。爬取器10的方法可以包括下列步骤:
1、开始于目标URL(50)。
2、下载给定URL的HTML文件(52)(也可以是XAML、XML、Acrobat、Flash文件或者任何可下载的网页)。基于HTML文件中的信息,下载所有补充数据文件,所述补充数据文件用于建立完全web应用,例如,但不仅限于此:
a.图像文件
b.脚本文件,例如JavaScript、Jscript和VBScript
c.XML数据文件和/或XAML文件
d.样式表文件
e.ActiveX组件或者插件
f.视频流
g.音频流
h.动画,例如Flash文件
i.HTML行为。
3、当已经下载了所有应用组件时,通过执行一系列动作来实例化完整的web应用(54),所述动作例如是,但不仅限于此:
a.渲染HTML并且构造文档对象模型
b.应用样式表
c.执行适当脚本解释器中的任何脚本
d.激活任何控件或者插件,例如ActiveX控件
e.启动视频流或音频流
f.启动动画,例如Flash动画
g.执行HTML行为脚本。
4、一旦完整的web应用已经被组装、实例化并且初始化,那么就将如上所述的数据查询接口应用到可能包括有用数据的应用中的所有对象(56)。
5、使用事件监视器来监视应用的状态(58),并且如果满足特定的条件,就执行下列步骤:
a.加载预定义的应用模板或者生成如上定义的自定义应用模板(60);
b.运用应用模板(62)以从web应用中提取所有期望的信息;
c.将提取的数据作为结构数据信息记录保存到文件或数据库(64)。
6、检查web应用中的所有组件(66)以识别可以响应鼠标事件的所有可能组件,也称为可点击项目。确定自上一次模拟鼠标事件后已经出现了哪些可点击项目。将新的可点击项目存储在适当的数据结构中,例如包括在所有可能应用状态下的应用中的所有可点击项目的树的新的分支。
7、模拟鼠标点击可点击项目树的当前分支中的第一个可点击项目(68),然后开始。继续重复这些步骤,直到已经遍历了整个可点击项目树为止。
应该理解的是,对于上述方法,可以可选地跳过一些步骤,例如应用数据查询接口。可以改变所述步骤的顺序并且可以将一些步骤组合成一个步骤。
现在参照图7,可以将本发明的本质视为爬取多个正在运行的、被实例化的文档或应用中的对象模型(70)并为其编制索引(72)。再次,这可能发生在因特网范围上,并且爬取可以包括遍历不同机器上的页、文件、文档或者应用。在检查可点击项目前,实例化这些页、文件、文档或者应用以更加彻底地查看用于可用内容和/或元数据的每一个。
数据融合
现在参照图8,可以将爬取器10收集的数据融合在一起。例如,可以将从协议爬取器2提取的元数据与从应用爬取器10提取的元数据融合。另外,来自多个源的数据融合可以出现在应用爬取器10自身内。例如,应用爬取器可以同时查看多个与视频相关的web浏览器(窗口)。这些网页甚至可以在不同的URI域中。本发明的实施例可以还包括将视频流的技术数据与得自其他源的元数据相融合,所述其他源例如是应用爬取器10、协议爬取器2、RSS/XML订阅9或者得自用于分析视频的工具74(包括,但不限于将视频流的音频内容转换成文本的语音识别工具)的元数据,但不仅限于此。元数据融合引擎76可以将适当的指针、链接、文本或者其他来自各种源的其他信息保存在可搜索的参考数据库中。
在本发明的另一实施例中,本发明的爬取技术包括将基于文本的元数据与得自视频自身的技术参数相关联的能力。作为非限制性实例,视频的技术参数可以包括持续时间、分辨率、帧速率、品质、格式、索引图像等。此外,从应用爬取器收集的数据可以用下列各项进行补充或与下列各项进行融合:协议爬取器的数据、RSS订阅、爬取器的操作员的编辑评论、或者内容创建者或发布者提供的数据。
如图9所示,这样做的一个方法可以包括一个过程,所述过程使用仅具有有限功能的应用爬取器140的一个实施例。例如,在步骤150,本发明可以使用来自RSS订阅的URL作为输入;在步骤152,下载HTML和任何补充材料;在步骤154,在网页中对其进行渲染(例如,使用浏览器导航到URL),等待网页显示视频,然后向多媒体播放器查询关于使用多媒体播放器公布的应用编程接口(API)的视频的信息。在该实施例中,本发明使用公布的API来查询多媒体播放器的对象模型,并且将得自多媒体播放器的元数据与输入URL的源所提供的数据融合在一起。对于这个有限的应用爬取器,输入的URL可能来自多个地方:RSS、协议爬取器输出、XML订阅器、web应用所使用的隐藏数据流(例如,AJAX应用使用或者简单对象访问协议(SOAP)方法调用的XML服务)、或者包括视频的web站点的其他目录。应该理解的是,本发明还可以包括融合呈现或显示的视频的原本数据和技术细节的方法。如图9所示,该方法可以包括:在步骤156,应用数据查询接口;在步骤158,使用事件监视器;在步骤160,加载模板;在步骤162,应用模板;在步骤164,保存数据;以及然后返回步骤158。该方法可以包括:在事件监视器认为条件满足后,等待另一个目标URL。作为非限制性实例,所述条件可以包括视频文件的结束、视频流,预定的时间段等。对于爬取器140,应该理解的是,本发明的一些实施例可以对所有站点仅使用一个模板。其他实施例可以仅具有模板的子集或者减少数量的模板,这些子集或者减少数量的模板是从所述模板中选择的。
除了具有视频的网页以外,本发明还适用于下列情况:
基于非浏览器的视频应用,例如下载视频和相关元数据的多媒体播放器;
除了包括动态文本和视频广告的网页之外,具有静态信息的网页(例如基于文本的新闻)。在该情况下,爬取器用于排除视频和其他动态内容。
动态web应用,例如AJAX应用、wiki、用户论坛、照片共享站点、财经服务web站点、或者任何其内容独立于web服务器而变化的网页。例如,设想:本发明的爬取器创建与具体股票代码有关的所有图像和图表的可搜索索引。
查看器的另一个特征是能够“断言”提供视频或其他动态内容的web应用的结构。断言代码使用web站点的模板来确定web站点的结构是否已经变化。如果站点已经变化或者视频(或者动态内容)不再可用,则不再提取数据,并且如果其在web站点上不再可用,则将先前提取的数据(如果有的话)从储存库中除去。该特征对于保持数据品质是重要的。
尽管已经参照其中特定具体实施例介绍并示出了本发明,但是本领域技术人员应该意识到,在不脱离本发明的精神和范围的情况下,可以进行程序和协议的各种改编、变化、改进、替代、删除或者增加。例如,利用上述任意实施例,应用爬取器可以实时爬取对时间敏感的视频。视频内容可能对时间非常敏感,并且往往只在有限的时间窗期间可用。利用上述任意实施例,在应用爬取器(40)遍历对象后,可能存在后处理,所述后处理包括在将数据放入储存库前的数据融合(如上所述)或者语音至文本的识别。
利用上述任意实施例,应用爬取器可以使用元数据的许多字段来编制内容的索引。在一个实施例中,本申请可以到达视频流或视频播放器并且取出相关的数据。在另一实施例中,本发明可以应用于由视频流或者与视频流协力激发的事件并利用这种方式获得信息。应该理解的是,在一些实施例中,Truveo应用爬取器将以与浏览器相同的方式进行web应用的渲染。因此,被实例化网页、应用等的状态与浏览器创建的相同。这使得爬取器能够找到对象模型中的内容,其仅在文档或文件被实例化的情况下可用。利用上述任意实施例,应该理解的是,爬取器还可以被配置为处理视频流并且不仅限于视频流。应该理解的是,术语“文件”,如“视频文件”中的“文件”可以包括以流的形式从服务器(即,媒体服务器)传输文件的内容。
应该理解的是,应用爬取器组装并且动态实例化网页的组件,然后可以分析被实例化的web应用以定位网页上的期望组件。这可以包括查找并分析该应用中的所有可点击项目、通过插入事件来驱动web应用、以及从应用中提取信息并将其写入文件或数据库。用于组装并且实例化web应用的组件可以如本申请所描述的那样。在其他实施例中,可以对本实施例进行改变,例如,但不限于组合各种组件之间的功能、增加软件组件以处理附加的应用、同时执行一些步骤等。应该理解的是,本发明还包括搜索引擎和方法,其搜索由本发明的爬取器创建的数据库。
此处所论述或者引用的公报仅作为本申请的申请日前的公开。现有发明不对本发明申请的授权造成影响。此外,提供的公布的日期可能不同于实际的公布日期,这可能需要单独确认。出于各种目的,2004年11月22日提交的美国临时申请60/630,552(代理人案号41702-1002)和2004年11月22日提交的美国临时申请60/630,423(代理人案号41702-1001)均以引用方式并入本文。将本文提及的所有公报以引用方式并入本申请,以结合所提及的公报一起披露和说明本发明的结构和/或方法。
根据本发明的目标和实践,可以预期结果的期望变化或者差异。因此,本发明由所附的权利要求的合理的尽可能广的范围来限定。
Claims (132)
1、一种计算机实现的方法,包括:
对多个运行的、被实例化的文档或应用的对象模型进行爬取并为其编制索引。
2、如权利要求1所述的方法,其中,爬取包括逐个走过各个机器,以便遍历每台机器上的至少一个文档或应用。
3、如权利要求2所述的方法,其中,各台机器位于不同的物理位置并被连接到计算机网络。
4、如权利要求1所述的方法,其中,爬取包括:
跟踪可点击项目的树;
以自动方式来激活项目,所述自动方式与人用户的方式基本相同。
5、如权利要求1所述的方法,其中,爬取包括跟踪页面或应用的种子列表。
6、如权利要求1所述的方法,其中,爬取包括跟踪选自下列各项中的至少一项的页面或应用的种子列表:URL列表、应用指针列表或者RSS订阅。
7、如权利要求1所述的方法,其中,编制索引包括遍历所述被实例化的文档或应用的对象模型中的对象树。
8、如权利要求1所述的方法,其中,编制索引包括遍历所述被实例化的文档或应用的对象模型中的对象树并且记录所述对象的位置和内容。
9、如权利要求1所述的方法,其中,编制索引包括:
加载所述文档或者应用;
实例化所述文档或者应用;
遍历所述被实例化的文档或应用的对象模型中的对象树。
10、如权利要求1所述的方法,其中,编制索引包括到达所述正运行的、被实例化的文档或应用的对象模型中的任意节点并且将所述节点记录在数据库中。
11、如权利要求1所述的方法,其中,编制索引包括到达所述正运行的、被实例化的文档或应用的对象模型中的任意节点并且将指向所述节点的指针存储在数据库中。
12、如权利要求1所述的方法,其中,编制索引包括将与媒体有关的多个通用资源定位符(URL)存储在数据库中。
13、如权利要求1所述的方法,其中,编制索引包括遍历所述被实例化的文档或应用的对象模型中的对象树并模拟鼠标、键盘或其他用户事件。
14、如权利要求13所述的方法,还包括在所述鼠标事件、键盘事件、其他用户事件、浏览器事件或媒体播放器事件后等待一个限定的时间段,然后再遍历所述对象树。
15、如权利要求13所述的方法,还包括在所述鼠标事件、键盘事件、其他用户事件、浏览器事件或媒体播放器事件后等待一个限定的时间段,然后再遍历作为所述事件的结果而被显示的新的应用或文档的对象树。
16、如权利要求1所述的方法,其中,所述对象是所述被实例化的文档或应用的对象模型的任何节点或元素。
17、如权利要求1所述的方法,其中,被爬取的所述文档或应用包括下列各项中的至少一项:字处理文件、Acrobat文件、电子数据表、浏览器应用、媒体播放器、多媒体应用或者嵌入在媒体流中的元数据报头。
18、如权利要求1所述的方法,其中,被爬取的所述文档或应用包括操作系统。
19、如权利要求1所述的方法,其中,被爬取的所述文档或应用包括文件系统。
20、如权利要求1所述的方法,其中,爬取包括爬取下列类型的网络:内联网、单机或者单机上的多个应用。
21、如权利要求1所述的方法,其中,爬取包括爬取因特网。
22、如权利要求1所述的方法,其中,爬取包括爬取TCP/IP网络上的任何设备。
23、如权利要求1所述的方法,其中,爬取包括爬取公用网络上的任何设备。
24、如权利要求1所述的方法,其中,爬取包括爬取专用网络上的任何设备。
25、如权利要求1所述的方法,其中,所述应用或者文档被完全实例化。
26、如权利要求1所述的方法,其中,所述应用或者文档的仅仅一部分被实例化。
27、如权利要求1所述的方法,其中,编制索引还实例化视频文件。
28、如权利要求1所述的方法,其中,编制索引还实例化视频流。
29、如权利要求1所述的方法,还包括将数据查询接口添加到所述正运行的被实例化的文档或应用中的软件对象,以便能够连接应用爬取器。
30、如权利要求1所述的方法,还包括降低安全控制以允许访问所述对象模型。
31、一种计算机实现的方法,用于在计算机网络上搜索视频文件,所述方法包括:
对多个运行的、被实例化的文档或应用的对象模型进行爬取并为其编制索引,以定位视频文件。
32、如权利要求31所述的方法,其中,爬取包括逐个走过各个机器,以便遍历每台机器上的至少一个文档或应用。
33、如权利要求32所述的方法,其中,各台机器位于不同的物理位置并被连接到计算机网络。
34、如权利要求31所述的方法,其中,爬取包括:
跟踪可点击项目的树;
以自动方式来激活项目,所述自动方式与人用户的方式基本相同。
35、如权利要求31所述的方法,其中,爬取包括跟踪页面或应用的种子列表。
36、如权利要求31所述的方法,其中,爬取包括跟踪选自下列各项中的至少一项的页面或应用的种子列表:URL列表、应用指针列表或者RSS订阅。
37、如权利要求31所述的方法,其中,编制索引包括遍历所述被实例化的文档或应用的对象模型中的对象树。
38、如权利要求31所述的方法,其中,编制索引包括遍历所述被实例化的文档或应用的对象模型中的对象树并且记录所述对象的位置和内容。
39、如权利要求31所述的方法,其中,编制索引包括:
加载所述文档或者应用;
实例化所述文档或者应用;
遍历所述被实例化的文档或应用的对象模型中的对象树。
40、如权利要求31所述的方法,其中,编制索引包括到达所述正运行的、被实例化的文档或应用的对象模型中的任意节点并且将所述节点记录在数据库中。
41、如权利要求31所述的方法,其中,编制索引包括到达所述正运行的、被实例化的文档或应用的对象模型中的任意节点并且将指向所述节点的指针存储在数据库中。
42、如权利要求31所述的方法,其中,编制索引包括将与媒体有关的多个通用资源定位符(URL)存储在数据库中。
43、如权利要求31所述的方法,其中,编制索引包括遍历所述被实例化的文档或应用的对象模型中的对象树并模拟鼠标、键盘或其他用户事件。
44、如权利要求43所述的方法,还包括在所述鼠标事件、键盘事件、其他用户事件、浏览器事件或媒体播放器事件后等待一个限定的时间段,然后再遍历所述对象树。
45、如权利要求43所述的方法,还包括在所述鼠标事件、键盘事件、其他用户事件、浏览器事件或媒体播放器事件后等待一个限定的时间段,然后再遍历作为所述事件的结果而被显示的新的应用或文档的对象树。
46、如权利要求31所述的方法,其中,所述对象是所述被实例化的文档或应用的对象模型中的任何节点或元素。
47、如权利要求31所述的方法,其中,被爬取的所述文档或应用包括下列各项中的至少一项:字处理文件、Acrobat文件、电子数据表、浏览器应用、媒体播放器、多媒体应用或者嵌入在媒体流中的元数据报头。
48、如权利要求31所述的方法,其中,被爬取的所述文档或应用包括操作系统。
49、如权利要求31所述的方法,其中,被爬取的所述文档或应用包括文件系统。
50、如权利要求31所述的方法,其中,爬取包括爬取下列类型的网络:内联网、单机或者单机上的多个应用。
51、如权利要求31所述的方法,其中,爬取包括爬取因特网。
52、如权利要求31所述的方法,其中,爬取包括爬取TCP/IP网络上的任何设备。
53、如权利要求31所述的方法,其中,爬取包括爬取公用网络上的任何设备。
54、如权利要求31所述的方法,其中,爬取包括爬取专用网络上的任何设备。
55、如权利要求31所述的方法,其中,所述应用或者文档被完全实例化。
56、如权利要求31所述的方法,其中,所述应用或者文档的仅仅一部分被实例化。
57、如权利要求31所述的方法,其中,编制索引还实例化视频文件。
58、如权利要求31所述的方法,其中,编制索引还实例化视频流。
59、如权利要求31所述的方法,还包括将数据查询接口添加到所述正运行的被实例化的文档或应用中的软件对象,以便连接应用爬取器。
60、如权利要求31所述的方法,还包括降低安全控制以允许访问所述对象模型。
61、一种计算机实现的用于创建可搜索数据库的方法,所述方法包括:
对多个运行的、被实例化的文档或应用的对象模型进行爬取以定位视频文件。
通过将指向视频文件的指针存储在所述数据库中,来对在所述对象模型中找到的所述视频文件编制索引;以及
从所述对象模型中提取关于所述视频文件的元数据,并将所述元数据保存在所述数据库中。
62、一种计算机实现的用于在因特网上搜索文件的方法,所述方法包括:
提供协议爬取器,以用于识别富视频的web站点;以及
提供应用爬取器,所述应用爬取器包括:
查看器,其用于动态地实例化和组装所述富视频的web站点之一的网页的所有组件,以创建至少一个被实例化的web应用;
提取器,其用于识别包括有用信息的所述被实例化的web应用的特定部分并提供提取该信息到元数据记录所需要的逻辑;以及
爬取器,其用于分析所述被实例化的web应用、查找并分析所述应用中的所有可点击项目、通过插入事件来驱动所述web应用、以及从所述应用中提取信息并将其写入到文件或数据库中。
63、如权利要求62所述的方法,其中,所述查看器包括用于下列各项中至少一项的软件组件的代码:
文档对象模型(DOM)工具,其用于一个或多个浏览器;
脚本引擎,其能够执行JavaScript、JScript、ECMAScript或者VBScript;
XML解析引擎;
层叠式样式表引擎;
网络I/O库;
HTML解析和渲染引擎;
用于执行诸如ActiveX控件之类的嵌入式控件的引擎;或者
用于渲染web应用的引擎。
64、如权利要求62所述的方法,其中,所述提取器包括下列各项中至少一项的软件组件的代码:
XSL引擎;
XPath工具;
正则表达式引擎;
脚本执行引擎;
用于组件的嵌入式对象查看器,所述组件例如是ActiveX和COM对象,但不仅限于此;
网络传输代理,例如http代理;
rtsp或其他多媒体流代理;
软件桥,其结合外部编程框架的类库来处理数据;
分类引擎,其用于对元数据进行分类;或者
文本解析和处理引擎。
65、如权利要求62所述的方法,其中,所述爬取器包括下列各项中至少一项的软件组件的代码:
文件I/O库;
网络I/O库;或者
用于生成和存储日志文件的库。
66、一种计算机实现的用于在因特网上搜索文件的方法,所述方法包括:
查找目标URL;
下载所述目标URL的HTML文件;
基于所述HTML中的信息,下载用于构建完整web应用的补充数据文件;
根据所述补充数据文件和所述HTML文件来组装应用组件;
实例化应用组件以创建web应用;
将数据查询接口应用到可能包括有用数据的所述web应用中的所有对象;
加载预定义的应用模板或者生成并自动定义应用模板;
将所述应用模板应用到从所述web应用提取所有需要的信息的过程中;
将所需要的信息作为结构化数据信息记录存储到文件或数据库中;
检查所述web应用中的所有组件以识别可以响应鼠标事件或形成可点击项目的所有可能组件;
确定自上一次模拟鼠标事件后已经出现了哪些可点击项目;
将新的可点击项目存储在适当的数据结构中,例如包括在所有可能应用状态下的所述应用中的所有可点击项目的树的新的分支;以及
模拟鼠标点击所述可点击项目树的当前分支中的第一个可点击项目。
67、如权利要求66所述的方法,还包括重复该方法,直到已经遍历了整个可点击项目树为止。
68、如权利要求66所述的方法,其中,实例化步骤包括下列各项中的至少一项:
渲染HTML并且构造所述文档对象模型;
应用样式表;
执行适当的脚本解释器中的脚本;
激活任意控件或者插件,例如ActiveX控件;
启动视频流或音频流;
启动动画,例如Flash动画;或者
执行HTML行为脚本。
69、一种计算机系统,包括:
具有编程代码的应用爬取器,以用于从web站点爬取正运行的、被实例化的文档或应用的对象模型并为其编制索引。
70、如权利要求69所述的计算机系统,还包括:
协议爬取器,用于识别所检查的web站点,其中,所述应用爬取器从所述web站点爬取正运行的、被实例化的文档或应用的所述对象模型并为其编制索引。
71、如权利要求69所述的计算机系统,其中,所述应用爬取器包括:
查看器,其用于动态地实例化和组装所述web站点之一的网页的所有组件,以创建至少一个被实例化的web应用。
72、如权利要求69所述的计算机系统,其中,所述应用爬取器包括:
提取器,其用于识别包括有用信息的所述被实例化的web应用的特定部分并提供提取该信息到元数据记录所需要的逻辑。
73、如权利要求69所述的计算机系统,其中所述应用爬取器包括:
爬取器,其用于分析所述被实例化的web应用、查找并分析所述应用中的所有可点击项目、通过插入事件来驱动所述web应用、以及从所述应用中提取信息并将其写入到文件或数据库中。
74、如权利要求69所述的计算机系统,其中,所述协议爬取器识别所检查的包括至少一个视频文件的web站点。
75、如权利要求69所述的计算机系统,其中,所述协议爬取器识别所检查的包括至少一个媒体文件的web站点。
76、如权利要求69所述的计算机系统,其中,所述协议爬取器识别所检查的包括下列各项中至少一项的web站点:mpeg文件、avi文件、RM文件、flash文件、.ts文件、.wmv文件或QuicktimeTM文件。
77、如权利要求69所述的计算机系统,其中,所述应用爬取器查看可点击项目树并以自动方式激活每一个项目,所述自动方式与人用户的方式基本相同。
78、如权利要求69所述的计算机系统,其中,所述应用爬取器使用模板以用于下列各项中的至少一项:数据提取、跟踪链接的定时、爬取的深度、如何跳过商业广告、从何处开始爬取、查找链接、标题定位、媒体文件元数据定位、时间同步或者指示爬取器等待特定的事件间隔,然后再次爬取对象树。
79、一种系统,包括:
协议爬取器,用于识别富视频的web站点;以及
应用爬取器,所述应用爬取器包括:
查看器,其用于动态地实例化和组装所述富视频的web站点之一的网页的所有组件,以创建至少一个被实例化的web应用;
提取器,其用于识别包括有用信息的所述被实例化的web应用的特定部分并提供提取该信息到元数据记录所需要的逻辑;以及
爬取器,其用于分析所述被实例化的web应用、查找并分析所述应用中的所有可点击项目、通过插入事件来驱动所述web应用、以及从所述应用中提取信息并将其写入到文件或数据库中。
80、如权利要求79所述的计算机系统,其中,所述查看器包括下列各项中至少一项的软件组件的代码:
文档对象模型(DOM)工具,其用于一个或多个浏览器;
脚本引擎,其能够执行JavaScript、JScript、ECMAScript或者VBScript;
XML解析引擎;
层叠式样式表引擎;
网络I/O库;
HTML解析和渲染引擎;
用于执行诸如ActiveX控件之类的嵌入式控件的引擎;或者
用于渲染web应用的引擎。
81、如权利要求79所述的计算机系统,其中,所述提取器包括下列各项中至少一项的软件组件的代码:
XSL引擎;
XPath工具;
正则表达式引擎;
脚本执行引擎;
用于组件的嵌入式对象查看器,所述组件例如是ActiveX和COM对象,但不仅限于此;
网络传输代理,例如http代理;
rtsp或其他多媒体流代理;
软件桥,其结合外部编程框架的类库来处理数据;
分类引擎,其用于对元数据进行分类;或者
文本解析和处理引擎。
82、如权利要求79所述的计算机系统,其中,所述爬取器包括下列各项中至少一项的软件组件的代码:
文件I/O库;
网络I/O库;或者
用于生成和存储日志文件的库。
83、一种计算机实现的方法,包括:
接收目标URL;以及
编制多个正运行的、被实例化的文档或应用的对象模型的索引。
84、如权利要求83所述的方法,其中,所述接收步骤包括接收URL列表。
85、如权利要求83所述的方法,其中,所述接收步骤包括接收下列各项中的至少一项:URL列表、应用指针列表或者RSS订阅。
86、如权利要求83所述的方法,其中,编制索引包括遍历所述被实例化的文档或应用的对象模型中的对象树。
87、如权利要求83所述的方法,其中,编制索引包括遍历所述被实例化的文档或应用的对象模型中的对象树并且记录所述对象的位置和内容。
88、如权利要求83所述的方法,其中,编制索引包括:
加载所述文档或者应用;
实例化所述文档或者应用;
遍历所述被实例化的文档或应用的对象模型中的对象树。
89、如权利要求83所述的方法,其中,编制索引包括到达所述正运行的、被实例化的文档或应用的对象模型中的任意节点并且将所述节点记录在数据库中。
90、如权利要求83所述的方法,其中,编制索引包括到达所述正运行的、被实例化的文档或应用的对象模型中的任意节点并且将指向所述节点的指针存储在数据库中。
91、如权利要求83所述的方法,其中,编制索引包括将与媒体有关的多个通用资源定位符(URL)存储在数据库中。
92、如权利要求83所述的方法,其中,编制索引包括遍历所述被实例化的文档或应用的对象模型中的对象树并模拟鼠标、键盘或其他用户事件。
93、如权利要求92所述的方法,还包括在所述鼠标事件、键盘事件、其他用户事件、浏览器事件或媒体播放器事件后等待一个限定的时间段,然后再遍历所述对象树。
94、如权利要求92所述的方法,还包括在所述鼠标事件、键盘事件、其他用户事件、浏览器事件或媒体播放器事件后等待一个限定的时间段,然后再遍历作为所述事件的结果而被显示的新的应用或文档的对象树。
95、如权利要求83所述的方法,其中,所述对象是所述被实例化的文档或应用的对象模型的任何节点或元素。
96、如权利要求83所述的方法,其中,被索引的所述文档或应用包括下列各项中的至少一项:字处理文件、Acrobat文件、电子数据表、浏览器应用、媒体播放器、多媒体应用或者嵌入在媒体流中的元数据报头。
97、如权利要求83所述的方法,其中,所述应用或者文档被完全实例化。
98、如权利要求83所述的方法,其中,所述应用或者文档的仅仅一部分被实例化。
99、如权利要求83所述的方法,其中,编制索引还实例化视频文件。
100、如权利要求83所述的方法,其中,编制索引还实例化视频流。
101、如权利要求83所述的方法,还包括将数据查询接口添加到所述正运行的被实例化的文档或应用中的软件对象,以便能够连接应用爬取器。
102、如权利要求83所述的方法,还包括降低安全控制以允许访问所述对象模型。
103、一种计算机程序产品,包括:
计算机可用介质和包括在所述计算机可用介质上的计算机可读代码,所述计算机可读代码包括:
计算机可读程序代码,其使计算机实现对正运行的被实例化的文档或应用的对象模型进行爬取并为其编制索引。
104、如权利要求103所述的产品,其中,爬取包括逐个走过各个机器,以便遍历每台机器上的至少一个文档或应用。
105、如权利要求104所述的产品,其中,各台机器位于不同的物理位置并被连接到计算机网络。
106、如权利要求103所述的产品,其中,爬取包括:
跟踪可点击项目的树;
以自动方式来激活项目,所述自动方式与人用户的方式基本相同。
107、如权利要求103所述的产品,其中,爬取包括跟踪页面或应用的种子列表。
108、如权利要求103所述的产品,其中,爬取包括跟踪选自下列各项中的至少一项的页面或应用的种子列表:URL列表、应用指针列表或者RSS订阅。
109、如权利要求103所述的产品,其中,编制索引包括遍历所述被实例化的文档或应用的对象模型中的对象树。
110、如权利要求103所述的产品,其中,编制索引包括遍历所述被实例化的文档或应用的对象模型中的对象树并且记录所述对象的位置和内容。
111、如权利要求103所述的产品,其中,编制索引包括:
加载所述文档或者应用;
实例化所述文档或者应用;
遍历所述被实例化的文档或应用的对象模型中的对象树。
112、如权利要求103所述的产品,其中,编制索引包括到达所述正运行的、被实例化的文档或应用的对象模型中的任意节点并且将所述节点记录在数据库中。
113、如权利要求103所述的产品,其中,编制索引包括到达所述正运行的、被实例化的文档或应用的对象模型中的任意节点并且将指向所述节点的指针存储在数据库中。
114、如权利要求103所述的产品,其中,编制索引包括将与媒体有关的多个通用资源定位符(URL)存储在数据库中。
115、如权利要求103所述的产品,其中,编制索引包括遍历所述被实例化的文档或应用的对象模型中的对象树并模拟鼠标、键盘或其他用户事件。
116、如权利要求115所述的产品,还包括在所述鼠标事件、键盘事件、其他用户事件、浏览器事件或媒体播放器事件后等待一个限定的时间段,然后再遍历所述对象树。
117、如权利要求115所述的产品,还包括在所述鼠标事件、键盘事件、其他用户事件、浏览器事件或媒体播放器事件后等待一个限定的时间段,然后再遍历作为所述事件的结果而被显示的新的应用或文档的对象树。
118、如权利要求103所述的产品,其中,所述对象是所述被实例化的文档或应用的对象模型的任何节点或元素。
119、如权利要求103所述的产品,其中,被爬取的所述文档或应用包括下列各项中的至少一项:字处理文件、Acrobat文件、电子数据表、浏览器应用、媒体播放器、多媒体应用或者嵌入在媒体流中的元数据报头。
120、如权利要求103所述的产品,其中,被爬取的所述文档或应用包括操作系统。
121、如权利要求103所述的产品,其中,被爬取的所述文档或应用包括文件系统。
122、如权利要求103所述的产品,其中,爬取包括爬取下列类型的网络:内联网、单机或者单机上的多个应用。
123、如权利要求103所述的产品,其中,爬取包括爬取因特网。
124、如权利要求103所述的产品,其中,爬取包括爬取TCP/IP网络上的任何设备。
125、如权利要求103所述的产品,其中,爬取包括爬取公用网络上的任何设备。
126、如权利要求103所述的产品,其中,爬取包括爬取专用网络上的任何设备。
127、如权利要求103所述的产品,其中,所述应用或者文档被完全实例化。
128、如权利要求103所述的产品,其中,所述应用或者文档的仅仅一部分被实例化。
129、如权利要求103所述的产品,其中,编制索引还实例化视频文件。
130、如权利要求103所述的产品,其中,编制索引还实例化视频流。
131、如权利要求103所述的产品,还包括将数据查询接口添加到所述正运行的被实例化的文档或应用中的软件对象,以便能够连接应用爬取器。
132、如权利要求103所述的产品,还包括降低安全控制以允许访问所述对象模型。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63042304P | 2004-11-22 | 2004-11-22 | |
US60/630,423 | 2004-11-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101443751A true CN101443751A (zh) | 2009-05-27 |
Family
ID=36498499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005800470294A Pending CN101443751A (zh) | 2004-11-22 | 2005-11-22 | 用于应用爬取器的方法和装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9405833B2 (zh) |
EP (1) | EP1831796A4 (zh) |
JP (1) | JP2008521147A (zh) |
CN (1) | CN101443751A (zh) |
AU (1) | AU2005309617B2 (zh) |
CA (1) | CA2588219C (zh) |
WO (1) | WO2006058075A2 (zh) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826110A (zh) * | 2010-04-13 | 2010-09-08 | 北京大学 | 一种BitTorrent种子文件爬取方法 |
CN102200996A (zh) * | 2010-03-25 | 2011-09-28 | 微软公司 | 对动态报告进行解析和索引 |
CN102483698A (zh) * | 2009-09-30 | 2012-05-30 | 富士通株式会社 | 动态web应用的客户端层验证 |
CN102117289B (zh) * | 2009-12-30 | 2012-10-10 | 北京大学 | 一种从网页中抽取评论内容的方法和装置 |
CN102902693A (zh) * | 2011-07-29 | 2013-01-30 | 惠普开发有限公司 | 检测在网页上的重复模式 |
CN103020087A (zh) * | 2011-09-26 | 2013-04-03 | 百度在线网络技术(北京)有限公司 | 点击日志的生成方法及装置,搜索结果调整方法及装置 |
CN103377291A (zh) * | 2012-04-12 | 2013-10-30 | 艾克萨利德公司 | 借助于参考网络抓取建立网络语料库 |
CN103729458A (zh) * | 2014-01-10 | 2014-04-16 | 湖南神州祥网科技有限公司 | 一种网页请求的区分方法及装置 |
CN103914454A (zh) * | 2012-12-31 | 2014-07-09 | 上海证大喜马拉雅网络科技有限公司 | 基于ajax锚点的全站无缝伴随式音频播放方法和系统 |
US8832065B2 (en) | 2010-10-29 | 2014-09-09 | Fujitsu Limited | Technique for coordinating the distributed, parallel crawling of interactive client-server applications |
US8880588B2 (en) | 2010-10-29 | 2014-11-04 | Fujitsu Limited | Technique for stateless distributed parallel crawling of interactive client-server applications |
US9032067B2 (en) | 2010-03-12 | 2015-05-12 | Fujitsu Limited | Determining differences in an event-driven application accessed in different client-tier environments |
US9208054B2 (en) | 2011-02-14 | 2015-12-08 | Fujitsu Limited | Web service for automated cross-browser compatibility checking of web applications |
US9400962B2 (en) | 2010-10-29 | 2016-07-26 | Fujitsu Limited | Architecture for distributed, parallel crawling of interactive client-server applications |
CN106687949A (zh) * | 2014-06-24 | 2017-05-17 | 谷歌公司 | 本地应用的搜索结果 |
CN107273653A (zh) * | 2017-04-27 | 2017-10-20 | 广州慧扬健康科技有限公司 | 基于Wrapper控件适配器的电子病历表单设计器 |
CN107408065A (zh) * | 2015-07-23 | 2017-11-28 | 谷歌公司 | 监视应用加载 |
CN107622015A (zh) * | 2017-09-25 | 2018-01-23 | 北京因特睿软件有限公司 | 一种数据流分析方法、装置、设备及介质 |
CN108089967A (zh) * | 2017-12-12 | 2018-05-29 | 成都睿码科技有限责任公司 | 一种爬取安卓手机App数据的方法 |
CN108304498A (zh) * | 2018-01-12 | 2018-07-20 | 深圳壹账通智能科技有限公司 | 网页数据采集方法、装置、计算机设备和存储介质 |
CN108352032A (zh) * | 2015-10-28 | 2018-07-31 | 索尼移动通讯有限公司 | 用于返回优先化内容的系统和方法 |
CN109639770A (zh) * | 2018-11-22 | 2019-04-16 | 山东中创软件工程股份有限公司 | 一种数据访问方法、装置、设备及介质 |
CN109698844A (zh) * | 2017-10-23 | 2019-04-30 | 镇江雅迅软件有限责任公司 | 一种媒体资源管理系统 |
CN110162682A (zh) * | 2019-04-12 | 2019-08-23 | 深圳壹账通智能科技有限公司 | 一种网络数据的爬取方法、装置、存储介质和终端设备 |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101443751A (zh) | 2004-11-22 | 2009-05-27 | 特鲁维奥公司 | 用于应用爬取器的方法和装置 |
US7584194B2 (en) | 2004-11-22 | 2009-09-01 | Truveo, Inc. | Method and apparatus for an application crawler |
US8381093B2 (en) | 2006-12-06 | 2013-02-19 | Microsoft Corporation | Editing web pages via a web browser |
US20080162505A1 (en) * | 2006-12-29 | 2008-07-03 | Hill Charles R | Context browser based navigation of pivotally related information for a document |
US7701944B2 (en) | 2007-01-19 | 2010-04-20 | International Business Machines Corporation | System and method for crawl policy management utilizing IP address and IP address range |
US10176258B2 (en) * | 2007-06-28 | 2019-01-08 | International Business Machines Corporation | Hierarchical seedlists for application data |
US9639531B2 (en) | 2008-04-09 | 2017-05-02 | The Nielsen Company (Us), Llc | Methods and apparatus to play and control playing of media in a web page |
AU2013203736B2 (en) * | 2008-04-09 | 2015-11-26 | The Nielsen Company (Us), Llc | Methods and apparatus to play and control playing of media content in a web page |
WO2009126152A1 (en) * | 2008-04-09 | 2009-10-15 | The Nielsen Company (U.S.), Inc. | Methods and apparatus to play and control playing of media content in a web page |
EP2332107A2 (en) * | 2008-08-21 | 2011-06-15 | Dolby Laboratories Licensing Corporation | Networking with media fingerprints |
US20100080411A1 (en) * | 2008-09-29 | 2010-04-01 | Alexandros Deliyannis | Methods and apparatus to automatically crawl the internet using image analysis |
US20100235806A1 (en) * | 2009-03-13 | 2010-09-16 | Microsoft Corporation | Rich Web Site Authoring And Design |
CN101515300B (zh) | 2009-04-02 | 2011-07-20 | 阿里巴巴集团控股有限公司 | 一种Ajax网页内容的抓取方法及系统 |
US8386455B2 (en) * | 2009-09-20 | 2013-02-26 | Yahoo! Inc. | Systems and methods for providing advanced search result page content |
WO2011040981A1 (en) * | 2009-10-02 | 2011-04-07 | David Drai | System and method for search engine optimization |
US8832099B2 (en) | 2010-03-09 | 2014-09-09 | Yahoo! Inc. | User specific feed recommendations |
CN103229167A (zh) | 2010-10-06 | 2013-07-31 | 星汇数据解决方案公司 | 用于为电子发现数据编索引的系统和方法 |
WO2012092261A2 (en) * | 2010-12-29 | 2012-07-05 | Citrix Systems, Inc. | Systems and methods for multi-level tagging of encrypted items for additional security and efficient encrypted item determination |
CN102880618A (zh) * | 2011-07-15 | 2013-01-16 | 国际商业机器公司 | 用于网页文档搜索的方法及系统 |
US10089403B1 (en) * | 2011-08-31 | 2018-10-02 | Amazon Technologies, Inc. | Managing network based storage |
US8769014B2 (en) * | 2011-11-25 | 2014-07-01 | Sap Ag | Universal collaboration adapter for web editors |
WO2014120128A1 (en) * | 2013-01-29 | 2014-08-07 | Hewlett-Packard Development Company, L.P. | Analyzing structure of web application |
US9910992B2 (en) | 2013-02-25 | 2018-03-06 | Entit Software Llc | Presentation of user interface elements based on rules |
US9076182B2 (en) | 2013-03-11 | 2015-07-07 | Yodlee, Inc. | Automated financial data aggregation |
US20140281980A1 (en) | 2013-03-15 | 2014-09-18 | Chad A. Hage | Methods and Apparatus to Identify a Type of Media Presented by a Media Player |
AU2014232186A1 (en) * | 2013-03-15 | 2015-09-17 | Adparlor Media, Inc. | Intelligent platform for real-time bidding |
US8855280B1 (en) * | 2013-09-27 | 2014-10-07 | Securus Technologies, Inc. | Communication detail records (CDRs) containing media for communications in controlled-environment facilities |
US9825812B2 (en) * | 2013-12-05 | 2017-11-21 | Pulse Secure, Llc | Transparently intercepting and optimizing resource requests |
CN105988994A (zh) * | 2015-02-06 | 2016-10-05 | 北京询达数据科技有限公司 | Web领域分布式实时抽取系统 |
US10152488B2 (en) * | 2015-05-13 | 2018-12-11 | Samsung Electronics Co., Ltd. | Static-analysis-assisted dynamic application crawling architecture |
US20170060864A1 (en) * | 2015-08-26 | 2017-03-02 | Quixey, Inc. | Action Recommendation System for Focused Objects |
US10423675B2 (en) * | 2016-01-29 | 2019-09-24 | Intuit Inc. | System and method for automated domain-extensible web scraping |
WO2017203521A1 (en) * | 2016-05-22 | 2017-11-30 | Fornova Ltd. | System and method for automatic detection and filling of online calendars |
US10152465B2 (en) | 2016-12-20 | 2018-12-11 | Qualcomm Incorporated | Security-focused web application crawling |
CN106844486A (zh) * | 2016-12-23 | 2017-06-13 | 北京奇虎科技有限公司 | 爬取动态网页的方法及装置 |
US11361328B2 (en) * | 2017-03-15 | 2022-06-14 | International Business Machines Corporation | Reduced network footprint customer behavior analytics |
US11100555B1 (en) * | 2018-05-04 | 2021-08-24 | Coupa Software Incorporated | Anticipatory and responsive federated database search |
CN110413566A (zh) * | 2019-07-04 | 2019-11-05 | 广州视源电子科技股份有限公司 | 课件存储和处理方法、装置、智能交互平板及存储介质 |
US11228611B1 (en) | 2019-08-20 | 2022-01-18 | Rapid7, Inc. | Scanning unexposed web applications for vulnerabilities |
CN111565336B (zh) * | 2020-05-22 | 2022-12-27 | 郑州阿帕斯科技有限公司 | 一种视频播放方法和装置 |
CN112100061A (zh) * | 2020-08-28 | 2020-12-18 | 广州探迹科技有限公司 | 一种可视化爬虫代码编写与调试方法 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6314420B1 (en) | 1996-04-04 | 2001-11-06 | Lycos, Inc. | Collaborative/adaptive search engine |
US5903892A (en) * | 1996-05-24 | 1999-05-11 | Magnifi, Inc. | Indexing of media content on a network |
US6360234B2 (en) | 1997-08-14 | 2002-03-19 | Virage, Inc. | Video cataloger system with synchronized encoders |
US6421675B1 (en) | 1998-03-16 | 2002-07-16 | S. L. I. Systems, Inc. | Search engine |
JP2003522346A (ja) * | 1998-11-30 | 2003-07-22 | ヘンリー シー ユーエン | ビデオ及びグラフィック用サーチエンジン |
US7072888B1 (en) | 1999-06-16 | 2006-07-04 | Triogo, Inc. | Process for improving search engine efficiency using feedback |
US6516337B1 (en) * | 1999-10-14 | 2003-02-04 | Arcessa, Inc. | Sending to a central indexing site meta data or signatures from objects on a computer network |
AUPQ475799A0 (en) * | 1999-12-20 | 2000-01-20 | Youramigo Pty Ltd | An internet indexing system and method |
US6665658B1 (en) * | 2000-01-13 | 2003-12-16 | International Business Machines Corporation | System and method for automatically gathering dynamic content and resources on the world wide web by stimulating user interaction and managing session information |
US6546388B1 (en) | 2000-01-14 | 2003-04-08 | International Business Machines Corporation | Metadata search results ranking system |
US7305610B1 (en) | 2000-04-06 | 2007-12-04 | Google, Inc. | Distributed crawling of hyperlinked documents |
US7260564B1 (en) * | 2000-04-07 | 2007-08-21 | Virage, Inc. | Network video guide and spidering |
US7519902B1 (en) * | 2000-06-30 | 2009-04-14 | International Business Machines Corporation | System and method for enhanced browser-based web crawling |
US6778986B1 (en) * | 2000-07-31 | 2004-08-17 | Eliyon Technologies Corporation | Computer method and apparatus for determining site type of a web site |
US7080073B1 (en) * | 2000-08-18 | 2006-07-18 | Firstrain, Inc. | Method and apparatus for focused crawling |
NO313399B1 (no) | 2000-09-14 | 2002-09-23 | Fast Search & Transfer Asa | Fremgangsmate til soking og analyse av informasjon i datanettverk |
US7925967B2 (en) | 2000-11-21 | 2011-04-12 | Aol Inc. | Metadata quality improvement |
US20020091671A1 (en) | 2000-11-23 | 2002-07-11 | Andreas Prokoph | Method and system for data retrieval in large collections of data |
GB0029893D0 (en) * | 2000-12-07 | 2001-01-24 | Sony Uk Ltd | Video information retrieval |
US20020078134A1 (en) * | 2000-12-18 | 2002-06-20 | Stone Alan E. | Push-based web site content indexing |
US7502994B2 (en) | 2001-02-05 | 2009-03-10 | Omniture, Inc. | Web page link-tracking system |
US20020129062A1 (en) * | 2001-03-08 | 2002-09-12 | Wood River Technologies, Inc. | Apparatus and method for cataloging data |
US7047294B2 (en) | 2001-05-02 | 2006-05-16 | Microsoft Corporation | Page-view recording with click-thru tracking |
US7272657B2 (en) | 2001-07-30 | 2007-09-18 | Digeo, Inc. | System and method for displaying video streams ranked by user-specified criteria |
US7010527B2 (en) | 2001-08-13 | 2006-03-07 | Oracle International Corp. | Linguistically aware link analysis method and system |
US7565367B2 (en) | 2002-01-15 | 2009-07-21 | Iac Search & Media, Inc. | Enhanced popularity ranking |
JP2003296335A (ja) * | 2002-04-02 | 2003-10-17 | Kddi Corp | 動画像検索装置 |
EP1532542A1 (en) | 2002-05-14 | 2005-05-25 | Verity, Inc. | Apparatus and method for region sensitive dynamically configurable document relevance ranking |
US20060190561A1 (en) | 2002-06-19 | 2006-08-24 | Watchfire Corporation | Method and system for obtaining script related information for website crawling |
US7716322B2 (en) * | 2002-09-23 | 2010-05-11 | Alcatel-Lucent Usa Inc. | Automatic exploration and testing of dynamic Web sites |
US20040088649A1 (en) | 2002-10-31 | 2004-05-06 | International Business Machines Corporation | System and method for finding the recency of an information aggregate |
US7130844B2 (en) | 2002-10-31 | 2006-10-31 | International Business Machines Corporation | System and method for examining, calculating the age of an document collection as a measure of time since creation, visualizing, identifying selectively reference those document collections representing current activity |
US20040133558A1 (en) | 2003-01-06 | 2004-07-08 | Masterwriter, Inc. | Information management system plus |
US7725875B2 (en) * | 2003-09-04 | 2010-05-25 | Pervasive Software, Inc. | Automated world wide web navigation and content extraction |
US20050060286A1 (en) | 2003-09-15 | 2005-03-17 | Microsoft Corporation | Free text search within a relational database |
US7346839B2 (en) | 2003-09-30 | 2008-03-18 | Google Inc. | Information retrieval based on historical data |
US8065383B2 (en) * | 2004-05-17 | 2011-11-22 | Simplefeed, Inc. | Customizable and measurable information feeds for personalized communication |
KR20070101217A (ko) | 2004-09-16 | 2007-10-16 | 텔레노어 아사 | 개인 웹에서의 문서의 검색, 항행, 및 순위 부여를 위한방법, 시스템, 컴퓨터 프로그램 제품 |
CN101443751A (zh) | 2004-11-22 | 2009-05-27 | 特鲁维奥公司 | 用于应用爬取器的方法和装置 |
US7584194B2 (en) | 2004-11-22 | 2009-09-01 | Truveo, Inc. | Method and apparatus for an application crawler |
US7653617B2 (en) | 2005-08-29 | 2010-01-26 | Google Inc. | Mobile sitemaps |
-
2005
- 2005-11-22 CN CNA2005800470294A patent/CN101443751A/zh active Pending
- 2005-11-22 JP JP2007543442A patent/JP2008521147A/ja active Pending
- 2005-11-22 CA CA2588219A patent/CA2588219C/en not_active Expired - Fee Related
- 2005-11-22 AU AU2005309617A patent/AU2005309617B2/en not_active Ceased
- 2005-11-22 WO PCT/US2005/042456 patent/WO2006058075A2/en active Application Filing
- 2005-11-22 EP EP05825394A patent/EP1831796A4/en not_active Withdrawn
-
2012
- 2012-09-14 US US13/618,968 patent/US9405833B2/en active Active
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102483698A (zh) * | 2009-09-30 | 2012-05-30 | 富士通株式会社 | 动态web应用的客户端层验证 |
CN102483698B (zh) * | 2009-09-30 | 2016-01-06 | 富士通株式会社 | 动态web应用的客户端层验证 |
CN102117289B (zh) * | 2009-12-30 | 2012-10-10 | 北京大学 | 一种从网页中抽取评论内容的方法和装置 |
US9032067B2 (en) | 2010-03-12 | 2015-05-12 | Fujitsu Limited | Determining differences in an event-driven application accessed in different client-tier environments |
CN102200996B (zh) * | 2010-03-25 | 2016-12-21 | 微软技术许可有限责任公司 | 对动态报告进行解析和索引 |
CN102200996A (zh) * | 2010-03-25 | 2011-09-28 | 微软公司 | 对动态报告进行解析和索引 |
CN101826110A (zh) * | 2010-04-13 | 2010-09-08 | 北京大学 | 一种BitTorrent种子文件爬取方法 |
CN101826110B (zh) * | 2010-04-13 | 2011-12-21 | 北京大学 | 一种BitTorrent种子文件爬取方法 |
US8880588B2 (en) | 2010-10-29 | 2014-11-04 | Fujitsu Limited | Technique for stateless distributed parallel crawling of interactive client-server applications |
US9400962B2 (en) | 2010-10-29 | 2016-07-26 | Fujitsu Limited | Architecture for distributed, parallel crawling of interactive client-server applications |
US8832065B2 (en) | 2010-10-29 | 2014-09-09 | Fujitsu Limited | Technique for coordinating the distributed, parallel crawling of interactive client-server applications |
US9208054B2 (en) | 2011-02-14 | 2015-12-08 | Fujitsu Limited | Web service for automated cross-browser compatibility checking of web applications |
CN102902693B (zh) * | 2011-07-29 | 2018-01-12 | 慧与发展有限责任合伙企业 | 检测在网页上的重复模式 |
CN102902693A (zh) * | 2011-07-29 | 2013-01-30 | 惠普开发有限公司 | 检测在网页上的重复模式 |
CN103020087A (zh) * | 2011-09-26 | 2013-04-03 | 百度在线网络技术(北京)有限公司 | 点击日志的生成方法及装置,搜索结果调整方法及装置 |
CN103377291A (zh) * | 2012-04-12 | 2013-10-30 | 艾克萨利德公司 | 借助于参考网络抓取建立网络语料库 |
CN103377291B (zh) * | 2012-04-12 | 2019-09-17 | 达索系统公司 | 借助于参考网络抓取建立网络语料库 |
CN103914454A (zh) * | 2012-12-31 | 2014-07-09 | 上海证大喜马拉雅网络科技有限公司 | 基于ajax锚点的全站无缝伴随式音频播放方法和系统 |
CN103729458A (zh) * | 2014-01-10 | 2014-04-16 | 湖南神州祥网科技有限公司 | 一种网页请求的区分方法及装置 |
CN106687949A (zh) * | 2014-06-24 | 2017-05-17 | 谷歌公司 | 本地应用的搜索结果 |
US10713324B2 (en) | 2014-06-24 | 2020-07-14 | Google Llc | Search results for native applications |
CN107408065A (zh) * | 2015-07-23 | 2017-11-28 | 谷歌公司 | 监视应用加载 |
CN107408065B (zh) * | 2015-07-23 | 2021-02-12 | 谷歌有限责任公司 | 监视应用加载 |
CN108352032A (zh) * | 2015-10-28 | 2018-07-31 | 索尼移动通讯有限公司 | 用于返回优先化内容的系统和方法 |
CN107273653A (zh) * | 2017-04-27 | 2017-10-20 | 广州慧扬健康科技有限公司 | 基于Wrapper控件适配器的电子病历表单设计器 |
CN107622015A (zh) * | 2017-09-25 | 2018-01-23 | 北京因特睿软件有限公司 | 一种数据流分析方法、装置、设备及介质 |
CN109698844A (zh) * | 2017-10-23 | 2019-04-30 | 镇江雅迅软件有限责任公司 | 一种媒体资源管理系统 |
CN108089967A (zh) * | 2017-12-12 | 2018-05-29 | 成都睿码科技有限责任公司 | 一种爬取安卓手机App数据的方法 |
CN108304498B (zh) * | 2018-01-12 | 2020-08-25 | 深圳壹账通智能科技有限公司 | 网页数据采集方法、装置、计算机设备和存储介质 |
CN108304498A (zh) * | 2018-01-12 | 2018-07-20 | 深圳壹账通智能科技有限公司 | 网页数据采集方法、装置、计算机设备和存储介质 |
CN109639770A (zh) * | 2018-11-22 | 2019-04-16 | 山东中创软件工程股份有限公司 | 一种数据访问方法、装置、设备及介质 |
CN110162682A (zh) * | 2019-04-12 | 2019-08-23 | 深圳壹账通智能科技有限公司 | 一种网络数据的爬取方法、装置、存储介质和终端设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2006058075A3 (en) | 2009-02-12 |
AU2005309617B2 (en) | 2009-03-26 |
US9405833B2 (en) | 2016-08-02 |
AU2005309617A1 (en) | 2006-06-01 |
JP2008521147A (ja) | 2008-06-19 |
WO2006058075A2 (en) | 2006-06-01 |
EP1831796A2 (en) | 2007-09-12 |
CA2588219C (en) | 2014-05-20 |
CA2588219A1 (en) | 2006-06-01 |
US20130066848A1 (en) | 2013-03-14 |
EP1831796A4 (en) | 2010-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101443751A (zh) | 用于应用爬取器的方法和装置 | |
US8954416B2 (en) | Method and apparatus for an application crawler | |
US9002895B2 (en) | Systems and methods for providing modular configurable creative units for delivery via intext advertising | |
US9703883B2 (en) | Social bookmarking of resources exposed in web pages | |
US8533141B2 (en) | Systems and methods for rule based inclusion of pixel retargeting in campaign management | |
US9348935B2 (en) | Systems and methods for augmenting a keyword of a web page with video content | |
US8065667B2 (en) | Injecting content into third party documents for document processing | |
CN100495393C (zh) | 用于定制搜索结果的系统和方法 | |
US20090094525A1 (en) | System and method for dynamic media integration into web pages | |
US20070198727A1 (en) | Method, apparatus and system for extracting field-specific structured data from the web using sample | |
CN102880607A (zh) | 网络动态内容抓取方法及网络动态内容爬虫系统 | |
US8489609B1 (en) | Indexing multimedia web content | |
CN103177115A (zh) | 一种提取网页页面链接的方法和装置 | |
CN106874502A (zh) | 一种视频搜索的方法、装置及终端 | |
WO2012135690A1 (en) | Systems and methods for invisible area detection and contextualization | |
CA2794763C (en) | System for use in editorial review of stored information | |
Lingam et al. | Supporting end-users in the creation of dependable web clips | |
SE1250079A1 (sv) | En metod för att spåra en användares interaktion med en webbsida | |
US20230061394A1 (en) | Systems and methods for dynamic hyperlinking | |
KR100965343B1 (ko) | 사용자의 검색 결과 활용 패턴의 공유를 이용한 검색 엔진운영 방법 및 시스템 | |
Luca et al. | Enhancing User Experience on the Web via Microformats-Based Recommendations | |
Butler et al. | Designing Whisper: a semiautonomous system for database encoding | |
KR20090002225A (ko) | 웹 컨텐츠 다운로드 시스템 | |
Jatowt et al. | Utilizing Past Web for Knowledge Discovery |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090527 |