CN104025089B - 基于情形的爬行的方法和系统 - Google Patents
基于情形的爬行的方法和系统 Download PDFInfo
- Publication number
- CN104025089B CN104025089B CN201280064952.9A CN201280064952A CN104025089B CN 104025089 B CN104025089 B CN 104025089B CN 201280064952 A CN201280064952 A CN 201280064952A CN 104025089 B CN104025089 B CN 104025089B
- Authority
- CN
- China
- Prior art keywords
- situation
- characteristic
- interaction
- reptant
- website
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 46
- 230000002452 interceptive effect Effects 0.000 claims abstract description 20
- 230000004913 activation Effects 0.000 claims abstract description 4
- 230000003993 interaction Effects 0.000 claims description 59
- 238000004590 computer program Methods 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 5
- 238000012423 maintenance Methods 0.000 claims description 3
- 230000003213 activating effect Effects 0.000 claims 1
- 238000000605 extraction Methods 0.000 claims 1
- 241000270322 Lepidosauria Species 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 8
- 239000003795 chemical substances by application Substances 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000009193 crawling Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 241000239290 Araneae Species 0.000 description 1
- 241000938605 Crocodylia Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
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)
Abstract
可以在爬行虫和网站之间建立交互会话。爬行虫可以定义表示用于与一个或多个网站交互的用户状态的会话状态、条件集合以及要基于该条件集合是否被满足而选择性激活的情形集合。爬行虫可以在交互会话期间从网站接收内容。爬行虫可以解析来自网站的内容并且可以将所解析的内容与之前定义的项目集合进行匹配来确定内容匹配条件是否被满足。如果内容匹配条件被满足且如果状态条件被满足,则所述爬行虫激活由所述爬行虫定义的情形,所述情形在内容匹配条件和状态条件未被满足的情况下不被爬行虫激活。
Description
技术领域
本发明涉及与计算机软件应用的自动交互,并且更具体地涉及基于计算机的文档或软件应用的自动爬行(crawl)。
背景技术
自动软件工具已经被长期用来自动地与计算机软件应用交互,诸如发现用于映射目的的软件的各种组件。例如,公知为“爬虫(crawler)”的一种这样的工具经常被用来通过沿着嵌入在文档中的指示其他文档的位置的超链接(诸如统一资源定位符(URL))来横跨网页和其他基于计算机的文档,以导航网站。
当前的爬虫典型地通过发送超文本传输协议(HTTP)请求并使用产生的HTTP响应来生成更多请求而在HTTP的级别上操作。这些爬虫可以在不分析请求所代表的动作的含义、这些动作之间的次序约束以及进行每一动作的期望结果的情况下操作。
发明内容
在本公开的一个方面,提供用于网络爬行基于网络的内容的方法、系统、计算机程序产品和/或设备。在实施例中,可以在爬行虫(crawling bot)和网站之间建立交互会话。爬行虫可以定义表示用于与一个或多个网站交互的用户状态的会话状态、条件集合以及要基于该条件集合是否被满足而选择性激活的情形集合。该条件集合可以包括用于用户状态是否等于预配置值的状态条件。该条件集合还包括内容匹配条件。爬行虫可以在交互会话期间从网站接收内容。爬行虫可以解析来自网站的内容并且可以将所解析的内容与之前定义的项目集合匹配,以确定是否满足内容匹配条件。如果内容匹配条件被满足并且如果状态条件被满足,则爬行虫可以激活由该爬行虫定义的情形,其在内容匹配条件和状态条件不满足的情况下不被激活。
在本公开的一个方面中,对基于情形的爬行提供方法、系统、计算机程序产品和/或设备。该方法可以选择预定情形,其中与所述情形关联的交互前特性的预定集合中的每一个特性呈现在爬行会话期间的一点处。该方法可以针对爬行会话的当前对象进行与情形关联的交互的预定集合中的每一个交互。该方法还可以识别与所述情形关联的交互后特性的预定集合中的特性的哪个呈现在进行所述交互之后的所述爬行会话期间。爬行会话的当前状态可以确定为预定状态,所述预定状态与在进行所述交互之后的所述爬行会话期间呈现的交互后特性的任一个关联。
在本公开的其他方面中,详细描述了执行以上方法和/或结合该方法使用的系统、设备和/或计算机程序产品。
附图标记
图1是依据本公开实施例构造并操作的、基于情形的爬行的系统的简化概念图示;
图2是依据本公开实施例操作的、图1的系统的操作的方法的简化流程图图示;
图3是依据本公开实施例操作的、图1的系统的操作的方法的简化流程图图示;而
图4是依据本公开实施例构造并操作的、计算系统的硬件实现的简化框图图示。
具体实施方式
现在在一个或多个实施例的背景下描述本公开,但描述意图在整体上说明本发明的实施例,而不意图理解为将本发明的其他实施例限制到所示出的实施例。应理解对于所属领域技术人员可以出现在此未具体示出的各种变型,其仍然在本发明的精神和范围之内。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文档中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
计算机程序指令还可以载入到计算机、其他可编程数据处理设备或其他装置中以使得一些列操作步骤在计算机、其他可编程数据处理设备或其他装置上进行来产生计算机实现的进程,从而在计算机或其他可编程数据处理设备熵执行的指令提供用于实现在流程图和/或框图块或模块中规定的功能/动作的进程。
现在参考图1,其是依据本发明实施例构造并操作的、用于基于情形的爬行的系统的简化概念图示。在图1的系统中,爬虫100配置为依据传统技术爬行基于计算机的文档或软件应用,并且附加地配置为如下所述地操作。定义了一个或多个情形102的集合以使得每一个情形包括以下:
●交互前特性的预定集合
●交互的预定集合;
●交互后特性的预定集合;和/或
●状态的预定集合,其中每一个状态与一个或多个交互后特性关联。
爬虫100优选地包括配置为选择一个或多个情形102的情形选择器104,或者配置为与情形选择器104合作,其中如果与一情形关联的交互前特性的预定集合中的每一个特性呈现于爬行会话期间的一点处则选择该情形,诸如在网络应用的爬行会话期间从网络应用接收网页之后。因此,例如,如果情形的预定交互特性的集合包括特性<已登录=‘是’>(<LoggedIn=‘Yes’>)和<当前网页包括‘退出’按钮>(<CurrentWebPage includes‘Logout’button>),则情形选择器104优选地校验在爬行会话期间爬行会话的所维持的状态信息106的数据存储,以确定与会话关联的用户(诸如由爬虫100表示的)当前是否登录到网络应用中,并且校验由网络应用提供的当前网页是否包括标记为“Logout(退出)”的按钮。如果每一个特性都呈现,则情形选择器104选择该情形。
爬虫100还优选地包括交互代理(agent)108或者配置为与交互代理108合作,交互代理108配置为利用爬行会话的当前对象(诸如利用所接收的网页)执行情形的交互的预定集合中的每个交互。因此,以当前示例继续,交互的集合可以包括交互<按下“退出”按钮(Press the“Logout”button)>,交互代理108接着利用所接收的网页执行该交互。
爬虫100还优选地包括交互后评估器110或者配置为与交互后评估器110合作,交互后评估器110配置为识别哪个情形的交互后特性呈现于交互代理108进行情形的交互的预定集合中的交互之后的爬行会话期间。因此,以当前示例继续,如果交互后特性的集合包括特性<当前网页包括“谢谢”>,则交互后评估器110优选地评估网络应用响应于按下“退出”按钮而返回的网页以确定该返回的网页是否包括短语“谢谢”。交互后评估器110可以识别哪个交互后特性呈现于由交互引出的任何响应中和/或状态信息106中。
爬虫100还优选地包括配置为确定爬行会话的当前状态的状态管理器112,或者配置为与状态管理器112合作,其中当前状态与情形的被交互后评估器110确定为呈现于爬行会话期间的交互后特性的任一个关联。因此,以当前示例继续,如果交互后评估器110确定特性<当前网页包括“谢谢”>呈现于网络应用响应于按下“退出”按钮而返回的网页中,并且<已登录=‘否’>的状态与情形的交互后特性<当前网页包括“谢谢”>关联,则状态管理器112可以确定与爬行会话关联的用户的状态是<已登录=‘否’>,并且可以将该信息记录在状态信息106中。
根据当前的示例将理解,图1的系统可以用来通过确保仅在爬虫当前登录到了网络应用的情况下爬虫才按下网页上的“退出”按钮而使得爬虫能够与网络应用智能地交互,而非随机地或基于启发式地爬行网络应用。
图1的系统可以用来在预定情形适用的情况下使用如上所述的基于情形的交互,否则使用传统技术,来爬行基于计算机的文档或软件应用。
图1中所示的任何元件优选由诸如计算机114的一个或多个计算机实现,通过依据传统技术在计算机硬件和/或嵌入在非易失性、计算机可读介质中的计算机软件实现元件。
现在参考图2,其是依据本公开实施例操作的、图1的系统的操作的示例性方法的简化流程图图示。在图2的方法中,关于基于计算机的文档和/或软件应用的集合开始爬行会话(步骤200)。在爬行会话期间的任何点处,如果与预定情形关联的每一个交互前特性呈现(步骤202),则选择情形(步骤204)。进行与该情形关联的交互的预定集合中的每一个交互(步骤206)。识别与该情形关联并且在进行交互之后的爬行会话期间呈现的任何交互后特性(步骤208)。根据与在进行交互之后的爬行会话期间呈现的该情形的交互后特性的任一个关联的状态的预定集合确定爬行会话的当前状态(步骤210)。
现在参考图3,其是依据本公开实施例操作的、图1的系统的操作的示例性方法的简化流程图图示。在图3的方法中,关于基于计算机文档和/或软件应用的集合开始爬行会话(步骤300)。在爬行会话期间的任何点处,如果可以诸如依据图2的方法选择情形(步骤302),则诸如依据图2的方法处理该情形(步骤304),并且如果无法选择情形(诸如,未呈现与预定情形关联的交互前特性的每一个),则可以依据传统技术进行爬行(步骤306)。如果终结条件满足,则可以终结爬行会话(步骤308)。
现在参考图4,框图400图示了依据本发明实施例的计算系统的示例性硬件实现,依据该计算系统,可以实现本发明的一个或多个组件/方法(例如,在图1-3的背景下描述的组件/方法)。
如所示,可以依据经由计算机总线418或替代连接布置耦接的处理器410、存储器412、I/O装置414和网络接口416实现用于控制到至少一个资源的访问的技术。
在一个实施例中,爬行会话在爬行虫和网站(或其他可寻址的基于网络的资源)之间。如在这里所用的,爬行指的是由网络爬虫或爬行虫进行的网络爬行。爬行虫是自主的或半自主的软件应用,其能够以有条理的自动方式或以有序的方式与一个或多个网站交互。爬行虫的其他常用术语包括蚂蚁、自动索引工具、虫(bot)、网络蜘蛛、网络机器人和/或网络奔跑器(Web scutter)。网络爬行是用于提供关于网络的最新数据的装置,其可以由诸如搜索引擎之类的其他程序使用。
在一个实施例中,所公开的爬行虫可以用来通过搜索引擎创造用于稍后处理的全部已访问页面的拷贝,该搜索引擎将索引已下载的页面来提供快速搜索。爬行虫还可以用于网站上的自动维护任务,诸如校验链接或验证HTML码。同样,爬行虫可以用来从网页搜集特定类型的信息,诸如搜集电邮地址。
在一个实施例中,不像传统网络爬虫那样,所公开的爬行虫可以与提供动态内容的网站交互。即,爬行虫可以确定与动态内容有关的网站状态,并且可以初始化对于该状态特定的动作(例如,激活情形)。例如,爬行虫可以提供之前定义的输入到网站以实现网站动态内容的改变。例如,网络爬虫可以检测指示用户未登录的当前网站状态,然后提供输入以改变网站的状态到登录状态。网络虫可以实现对网站状态特定的动作,然后解析所接收的网站内容,并且比较该内容与期望的输出—取决于所返回的输出是否满意而采取各种动作。换言之,爬行虫可以引入逻辑行为来仿真针对不同窗口状态的用户交互。
这使得所公开的爬行虫与传统网络爬虫相比对于可编程的目的显然更有效,因为可以针对可实现的特定功能编程爬行虫,而不穷尽给定网站的可能性的集合。此外,所公开的爬行虫可以聚集使用传统网络爬虫不可能的信息,因为爬行虫可以提供输入来触发网站、网络应用或网络服务的动态内容的改变。
要理解,这里使用的术语“处理器”意图包括任何处理装置,诸如例如包括CPU(中央处理器)和/或其他处理电路的处理装置。还要明白,术语“处理器”可以指代多于一个处理装置,并且要明白,与一处理装置关联的各种元件可以与其他处理装置共享。
这里使用的术语“存储器”意图包括与处理器或CPU关联的存储器,诸如例如RAM、ROM、固定存储器装置(例如,硬盘)、可移除存储器装置(例如,软盘)、闪存等。这样的存储器可以认为是计算机可读存储介质。
另外,这里使用的词组“输入/输出装置”或“I/O装置”意图包括例如用于键入数据到处理单元的一个或多个输入装置(例如,键盘、鼠标、扫描仪等),和/或用于呈现与处理单元关联的结果的一个或多个输出装置(例如,扬声器、显示器、打印机等)。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
要理解,以上描述的要素的任一个可以实现为在计算机可读介质中嵌入的、诸如以在磁或光存储介质上存储的计算机程序指令的形式的计算机程序产品,或嵌入在计算机硬件中,并且可以由计算机执行或以其他方式对于计算机可访问。
尽管这里的方法和设备可能已经或可能尚未参考具体计算机硬件或软件而描述,但是理解的是这里描述的方法和设备可以使用传统技术而在计算机硬件或软件中轻易地实现。
尽管已经参考一个或多个具体实施例描述了本发明,但是描述意图作为一个整体说明本发明而不理解为限制本发明到所示实施例。理解的是,对于所属领域技术人员可以出现在此未具体示出的各种变型,其仍然在本发明的精神和范围之内。
Claims (25)
1.一种基于情形的爬行的方法,包括:
经由执行存储在至少一个存储装置上的程序指令的至少一个处理器在爬行虫和网站之间建立交互会话,其中,所述爬行虫定义表示用于与一个或多个网站交互的用户状态的会话状态、条件集合以及要基于所述条件集合是否被满足而选择性地激活的情形集合,其中所述条件集合包括用于所述用户状态是否等于预配置值的状态条件,并且其中所述条件集合包括内容匹配条件;
所述爬行虫经由执行在至少一个存储装置上存储的所述爬行虫的程序指令的至少一个处理器而在所述交互会话期间从所述网站接收内容;
所述爬行虫经由执行在至少一个存储装置上存储的所述爬行虫的程序指令的至少一个处理器而解析来自所述网站的内容,并且将所解析的内容与之前定义的项目集合进行匹配,以确定所述内容匹配条件是否被满足;并且
如果所述内容匹配条件被满足且如果所述状态条件被满足,则所述爬行虫经由执行在至少一个存储装置上存储的所述爬行虫的程序指令的至少一个处理器而激活由所述爬行虫定义的情形中的一个情形,所述一个情形在所述内容匹配条件和状态条件未被满足时不被所述爬行虫激活。
2.如权利要求1所述的方法,其中,所述会话状态包括至少两个不同状态,一个状态指示实体登录到了所述网站,而另一状态指示所述实体未登录到所述网站。
3.如权利要求1所述的方法,其中,所述网站提供动态内容,其中所述条件集合指示与所述动态内容相关的网站状态,并且其中所激活的一个情形提供对于所述网站状态特定的、从所述爬行虫到所述网站的之前定义的输入,来实现所述网站的动态内容的改变。
4.如权利要求1所述的方法,其中,所述情形集合的每一个情形包括交互前特性的预定集合、交互的预定集合、交互后特性的预定集合以及状态的预定集合,其中所述状态的预定集合的每一个状态与所述交互后特性的一个或多个关联。
5.如权利要求1所述的方法,还包括:
在激活所述一个情形的情况下,在所述交互会话期间内针对所述网站的当前对象进行与所述情形关联的交互的预定集合中的多个交互中的每一个;
识别与所述情形关联的交互后特性的预定集合中的特性的集合中的哪个特性呈现在进行所述交互之后的所述爬行会话期间;并且
确定所述交互会话的当前状态为预定状态,所述预定状态与呈现在进行所述交互之后的所述交互会话期间的交互后特性的任一个关联。
6.如权利要求1所述的方法,其中所述网站表示网络应用,其在所述交互会话期间被所述爬行虫爬行。
7.一种计算机可读存储介质,包括:
存储在所述计算机可读存储介质上的计算机程序,所述计算机程序被计算机执行时使得所述计算机执行如下方法:
在爬行虫和网站之间建立交互会话,其中,所述爬行虫定义表示用于与一个或多个网站交互的用户状态的会话状态、条件集合以及要基于所述条件集合是否被满足而选择性地激活的情形集合,其中所述条件集合包括用于所述用户状态是否等于预配置值的状态条件,并且其中所述条件集合包括内容匹配条件;
所述爬行虫在所述交互会话期间从所述网站接收内容;
所述爬行虫解析来自所述网站的内容,并且将所解析的内容与之前定义的项目集合进行匹配,以确定所述内容匹配条件是否被满足;并且
如果所述内容匹配条件被满足且如果所述状态条件被满足,则所述爬行虫激活由所述爬行虫定义的情形中的一个情形,所述一个情形在所述内容匹配条件和状态条件未被满足时不被所述爬行虫激活。
8.一种基于情形的爬行的方法,包括:
当与一情形关联的交互前特性的预定集合中的每一个特性呈现在爬行会话期间的一点处则选择该情形;
针对所述爬行会话的当前对象进行与所述情形关联的交互的预定集合中的每一个交互;
识别与所述情形关联的交互后特性的预定集合中的特性的哪个呈现在进行所述交互之后的所述爬行会话期间;并且
确定所述爬行会话的当前状态,所述当前状态与在进行所述交互之后的所述爬行会话期间呈现的交互后特性的任一个关联。
9.如权利要求8所述的方法,其中所述爬行会话是在称为爬行虫的自主软件应用之间的交互会话,所述爬行虫导航到网站并横跨其内容,提供关于所述网站的索引化信息。
10.如权利要求8所述的方法,其中所述预定情形包括交互前特性的预定集合、交互的预定集合、交互后特性的预定集合以及状态的预定集合,其中所述状态的预定集合的每一个状态与所述交互后特性的一个或多个关联,其中,由爬行虫选择性地激活所述预定情形,并且由所述爬行虫定义所述预定情形用于与网络上的内容的交互,所述爬行虫被设计来爬行所述网络。
11.如权利要求8所述的方法,其中预定状态包括至少两个不同状态、一个状态指示实体登录到了网站,而另一状态指示所述实体未登录到所述网站。
12.如权利要求8所述的方法,其中所述爬行会话在自主软件实体和网站之间,其中所述网站提供动态内容,其中,由所述软件实体处理的条件集合指示与所述动态内容有关的网站状态,并且其中所述预定情形提供对于所述网站状态特定的、从所述软件实体到所述网站的之前定义的输入,以实现所述网站的动态内容的改变。
13.如权利要求8所述的方法,其中,该选择包括在交互前特性的预定集合中的特性的任一个呈现在所述爬行会话的当前对象中的情况下选择。
14.如权利要求8所述的方法,其中,该选择包括在交互前特性的预定集合中的特性的任一个呈现在所述爬行会话的维持的状态信息中的情况下选择。
15.如权利要求8所述的方法,其中,在爬行网络应用时执行所述选择、进行、识别和确定。
16.如权利要求15所述的方法,其中,所述选择在从网络应用接收到网页之后进行。
17.如权利要求16所述的方法,其中,所述进行包括进行与所述网页的交互的每一个。
18.如权利要求8所述的方法,其中,所述识别包括识别在由所述交互引出的任何响应内的交互后特性的任一个。
19.一种用于基于情形的爬行的系统,所述系统包括:
情形选择器,配置为当与一情形关联的交互前特性的预定集合中的每一个特性呈现在爬行会话期间的一点处则选择该情形;
交互代理,配置为针对所述爬行会话的当前对象进行与所述情形关联的交互的预定集合中的每一个交互;
交互后评估器,配置为识别与所述情形关联的交互后特性的预定集合中的特性的哪个呈现在进行所述交互之后的所述爬行会话期间;以及
状态管理器,配置为确定所述爬行会话的当前状态,所述当前状态与在进行所述交互之后的所述爬行会话期间呈现的交互后特性的任一个关联。
20.如权利要求19所述的系统,其中,所述情形选择器配置为在交互前特性的预定集合中的特性的任一个呈现在所述爬行会话的当前对象中的情况下选择。
21.如权利要求19所述的系统,其中,所述情形选择器配置为在交互前特性的预定集合中的特性的任一个呈现在所述爬行会话的维持的状态信息中的情况下选择。
22.如权利要求19所述的系统,其中,所述爬行会话包括爬行网络应用。
23.如权利要求22所述的系统,其中所述情形选择器配置为在从网络应用接收到网页之后选择。
24.如权利要求19所述的系统,其中,所述交互后评估器配置为识别在由所述交互引出的任何响应内的交互后特性的任一个。
25.一种计算机可读存储介质,包括:
嵌入在所述计算机可读存储介质中的计算机程序,其中所述计算机程序被计算机执行时使得所述计算机执行如下方法:
选择预定情形,其中与所述情形关联的交互前特性的预定集合中的每一个特性呈现在爬行会话期间的一点处;
针对所述爬行会话的当前对象进行与所述情形关联的交互的预定集合中的每一个交互;
识别与所述情形关联的交互后特性的预定集合中的特性的哪个呈现在进行所述交互之后的所述爬行会话期间;并且
确定所述爬行会话的当前状态,所述当前状态与在进行所述交互之后的所述爬行会话期间呈现的交互后特性的任一个关联。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/338,815 US20130173579A1 (en) | 2011-12-28 | 2011-12-28 | Scenario-based crawling |
US13/338,815 | 2011-12-28 | ||
PCT/CN2012/084954 WO2013097561A1 (en) | 2011-12-28 | 2012-11-21 | Scenario-based crawling |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104025089A CN104025089A (zh) | 2014-09-03 |
CN104025089B true CN104025089B (zh) | 2017-06-30 |
Family
ID=48695777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280064952.9A Expired - Fee Related CN104025089B (zh) | 2011-12-28 | 2012-11-21 | 基于情形的爬行的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (3) | US20130173579A1 (zh) |
JP (1) | JP2015503787A (zh) |
CN (1) | CN104025089B (zh) |
DE (1) | DE112012005528T5 (zh) |
WO (1) | WO2013097561A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160188716A1 (en) * | 2014-12-24 | 2016-06-30 | Quixey, Inc. | Crowd-Sourced Crawling |
US10262066B2 (en) * | 2014-12-24 | 2019-04-16 | Samsung Electronics Co., Ltd. | Crowd-sourced native application crawling |
JP6739906B2 (ja) * | 2015-06-18 | 2020-08-12 | 日本電信電話株式会社 | Webブラウジング品質管理装置、ユーザ体感品質推定方法、及びプログラム |
EP3107009A1 (en) * | 2015-06-19 | 2016-12-21 | Tata Consultancy Services Limited | Self-learning based crawling and rule-based data mining for automatic information extraction |
US10387528B2 (en) | 2016-12-20 | 2019-08-20 | Microsoft Technology Licensing, Llc | Search results integrated with interactive conversation service interface |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7886032B1 (en) * | 2003-12-23 | 2011-02-08 | Google Inc. | Content retrieval from sites that use session identifiers |
CN102084388A (zh) * | 2008-06-23 | 2011-06-01 | 双重验证有限公司 | 基于因特网的广告的自动监控和验证 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10269024B2 (en) * | 2008-02-08 | 2019-04-23 | Outbrain Inc. | Systems and methods for identifying and measuring trends in consumer content demand within vertically associated websites and related content |
-
2011
- 2011-12-28 US US13/338,815 patent/US20130173579A1/en not_active Abandoned
-
2012
- 2012-03-05 US US13/412,295 patent/US20130173580A1/en not_active Abandoned
- 2012-03-06 US US13/412,673 patent/US20130173581A1/en not_active Abandoned
- 2012-11-21 CN CN201280064952.9A patent/CN104025089B/zh not_active Expired - Fee Related
- 2012-11-21 DE DE112012005528.4T patent/DE112012005528T5/de not_active Withdrawn
- 2012-11-21 JP JP2014549323A patent/JP2015503787A/ja active Pending
- 2012-11-21 WO PCT/CN2012/084954 patent/WO2013097561A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7886032B1 (en) * | 2003-12-23 | 2011-02-08 | Google Inc. | Content retrieval from sites that use session identifiers |
CN102084388A (zh) * | 2008-06-23 | 2011-06-01 | 双重验证有限公司 | 基于因特网的广告的自动监控和验证 |
Non-Patent Citations (2)
Title |
---|
Deep Web adaptive crawling based on minimum executable pattern;Jun Liu Lu 等;《J Intell Inf Syst》;20100529;第1-19页 * |
赫枫龄 等.利用超链接信息改进网页爬行器的搜索策略.《吉林大学学报(信息科学版)》.2005,第23卷(第1期),第59页-63页. * |
Also Published As
Publication number | Publication date |
---|---|
US20130173579A1 (en) | 2013-07-04 |
JP2015503787A (ja) | 2015-02-02 |
WO2013097561A1 (en) | 2013-07-04 |
CN104025089A (zh) | 2014-09-03 |
DE112012005528T5 (de) | 2014-10-09 |
WO2013097561A9 (en) | 2014-05-30 |
US20130173580A1 (en) | 2013-07-04 |
US20130173581A1 (en) | 2013-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11888855B2 (en) | Website verification platform | |
US9098314B2 (en) | Systems and methods for web based application modeling and generation | |
CN110023928B (zh) | 预测搜索引擎排名信号值 | |
US9386109B1 (en) | Web page associated with a node in a website traffic pattern | |
CN104025089B (zh) | 基于情形的爬行的方法和系统 | |
US10331441B2 (en) | Source code mapping through context specific key word indexes and fingerprinting | |
US11481554B2 (en) | Systems and methods for training and evaluating machine learning models using generalized vocabulary tokens for document processing | |
US11347931B2 (en) | Process for creating a fixed length representation of a variable length input | |
Heck et al. | Horizontal traceability for just‐in‐time requirements: the case for open source feature requests | |
CN105607993A (zh) | 一种对应用的用户界面ui进行测试的方法和装置 | |
US20160321069A1 (en) | Effective feature location in large legacy systems | |
CN106598991A (zh) | 一种使用会话方式实现与网站交互表单自动提取的网络爬虫系统 | |
US11726803B2 (en) | Artificial intelligence based systems and methods for autonomously generating customer service help guides with integrated graphical components and for autonomously error-checking knowledge base support resources | |
US11314795B2 (en) | User navigation in a target portal | |
CN116569165B (zh) | 页面显示方法、装置、存储介质及电子设备 | |
CN117256001A (zh) | 为用户导航推荐撰写人类可读解释 | |
JP2014532942A (ja) | ソーシャルページのトリガー | |
CN111145063A (zh) | 一种业务系统指引方法和装置 | |
CN108959450B (zh) | 一种热门评论确定系统、方法、装置和可读介质 | |
CN104572439A (zh) | 回归警告方法和系统 | |
CN114297475A (zh) | 一种对象推荐方法、装置、电子设备及存储介质 | |
US9996619B2 (en) | Optimizing web crawling through web page pruning | |
KR20170044408A (ko) | 프로젝트의 추천 시스템 및 방법 | |
US10333885B2 (en) | System for post self awareness | |
CN111194026B (zh) | 一种信息发送方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170630 Termination date: 20181121 |