CN104025089A - 基于情形的爬行 - Google Patents

基于情形的爬行 Download PDF

Info

Publication number
CN104025089A
CN104025089A CN201280064952.9A CN201280064952A CN104025089A CN 104025089 A CN104025089 A CN 104025089A CN 201280064952 A CN201280064952 A CN 201280064952A CN 104025089 A CN104025089 A CN 104025089A
Authority
CN
China
Prior art keywords
mutual
characteristic
situation
session
reptant
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.)
Granted
Application number
CN201280064952.9A
Other languages
English (en)
Other versions
CN104025089B (zh
Inventor
I.克赖克曼
O.特里普
A.萨金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN104025089A publication Critical patent/CN104025089A/zh
Application granted granted Critical
Publication of CN104025089B publication Critical patent/CN104025089B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; 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)、网络蜘蛛、网络机器人和/或网络奔跑器(Webscutter)。网络爬行是用于提供关于网络的最新数据的装置,其可以由诸如搜索引擎之类的其他程序使用。
在一个实施例中,所公开的爬行虫可以用来通过搜索引擎创造用于稍后处理的全部已访问页面的拷贝,该搜索引擎将索引已下载的页面来提供快速搜索。爬行虫还可以用于网站上的自动维护任务,诸如校验链接或验证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.一种计算机程序产品,用于基于情形的爬行,所述计算机程序产品包括:
计算机可读存储介质;以及
嵌入在所述计算机可读存储介质中的计算机可读程序代码,其中所述计算机可读程序代码配置为:
选择预定情形,其中与所述情形关联的交互前特性的预定集合中的每一个特性呈现在爬行会话期间的一点处;
针对所述爬行会话的当前对象进行与所述情形关联的交互的预定集合中的每一个交互;
识别与所述情形关联的交互后特性的预定集合中的特性的哪个呈现在进行所述交互之后的所述爬行会话期间;并且
确定所述爬行会话的当前状态为预定状态,所述预定状态与在进行所述交互之后的所述爬行会话期间呈现的交互后特性的任一个关联。
CN201280064952.9A 2011-12-28 2012-11-21 基于情形的爬行的方法和系统 Expired - Fee Related CN104025089B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/338,815 2011-12-28
US13/338,815 US20130173579A1 (en) 2011-12-28 2011-12-28 Scenario-based crawling
PCT/CN2012/084954 WO2013097561A1 (en) 2011-12-28 2012-11-21 Scenario-based crawling

Publications (2)

Publication Number Publication Date
CN104025089A true CN104025089A (zh) 2014-09-03
CN104025089B 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)

* Cited by examiner, † Cited by third party
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090204478A1 (en) * 2008-02-08 2009-08-13 Vertical Acuity, Inc. Systems and Methods for Identifying and Measuring Trends in Consumer Content Demand Within Vertically Associated Websites and Related Content
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 双重验证有限公司 基于因特网的广告的自动监控和验证

Patent Citations (3)

* Cited by examiner, † Cited by third party
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
US20090204478A1 (en) * 2008-02-08 2009-08-13 Vertical Acuity, Inc. Systems and Methods for Identifying and Measuring Trends in Consumer Content Demand Within Vertically Associated Websites and Related Content
CN102084388A (zh) * 2008-06-23 2011-06-01 双重验证有限公司 基于因特网的广告的自动监控和验证

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JUN LIU LU 等: "Deep Web adaptive crawling based on minimum executable pattern", 《J INTELL INF SYST》 *
赫枫龄 等: "利用超链接信息改进网页爬行器的搜索策略", 《吉林大学学报(信息科学版)》 *

Also Published As

Publication number Publication date
DE112012005528T5 (de) 2014-10-09
WO2013097561A1 (en) 2013-07-04
WO2013097561A9 (en) 2014-05-30
US20130173580A1 (en) 2013-07-04
US20130173581A1 (en) 2013-07-04
JP2015503787A (ja) 2015-02-02
CN104025089B (zh) 2017-06-30
US20130173579A1 (en) 2013-07-04

Similar Documents

Publication Publication Date Title
US10003671B2 (en) Capturing and replaying application sessions using resource files
US11652904B2 (en) Systems and methods of token piggybacking
US8640037B2 (en) Graphical overlay related to data mining and analytics
CN102419808B (zh) 一种下载链接安全性检测方法、装置及系统
US20140180766A1 (en) System and method for generating, transmitting and using customized survey questionnaires
US8756214B2 (en) Crawling browser-accessible applications
DE202014010888U1 (de) Systeme zur Überprüfung eines Nutzers auf Basis von Reputationsinformationen
CN104025089A (zh) 基于情形的爬行
CN102968584B (zh) 一种登录网页的方法和装置
US20160294771A1 (en) Apparatus, Method, And Client For Synchronizing Jump Context
Kundu Web testing: tool, challenges and methods
CN107480277A (zh) 用于网站日志采集的方法及装置
WO2015175324A1 (en) Active summaries in user interfaces to collaboration services
CN103207863A (zh) 页面跨域交互方法及终端
CN112988599B (zh) 一种页面调试方法、装置、电子设备和存储介质
US8527489B1 (en) Suggesting a search engine to search for resources
CN106257520A (zh) 解析应答方法及系统
CN104468794A (zh) 网站的模拟登陆方法和装置
US20120215757A1 (en) Web crawling using static analysis
US8606773B2 (en) Method for combining and processing web data using tables and programming-by-demonstration
US11729247B2 (en) Systems and methods for decentralized detection of software platforms operating on website pages
CN105979316A (zh) 一种输入方法及装置
CN104423973B (zh) 浮动框架页面加载信息的处理方法、装置及系统
CN114372198A (zh) 一种信息推送的方法、服务端和系统
KR20210134902A (ko) 클라이언트 디바이스에서 중복 디지털 컴포넌트의 제공 및 디스플레이 제한

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