没有合适的资源?快使用搜索试试~ 我知道了~
主题:Web内容分析,语义和知识WWW 2018,2018年4月23日至27日,法国里昂1095无浏览器Web数据抽取:挑战与机遇鲁斯兰河Fayzrakhmanov,Emanuel Sallinger,Ben Spencer,Tim Furche,GeorgGottlob英国牛津大学计算机科学系name. cs.ox.ac.uk摘要大多数现代Web抓取器使用嵌入式浏览器来呈现网页并模拟用户操作。因此,在时间和网络流量方面,这样的抓取器(或包装器)执行起来是昂贵的。相比之下,使用“无浏览器”包装器的资源效率更高,该包装器通过HTTP请求直接访问Web服务器,并直接从原始回复中获取所需数据。然而,创建和维护高精度的无浏览器包装器需要专家,并且在规模上是令人望而却步的劳动密集型。在本文中,我们证明了自动翻译基于浏览器的包装成“无浏览器”包装的主要可行性。 我们提出了第一个算法和系统执行这样的自动翻译适当限制类型的网站。 该系统在绝大多数测试用例中工作,并产生非常快速和非常资源有效的包装器。我们讨论的研究挑战,扩展我们的方法,适用于更大数量的情况下的一般方法。CCS概念• 信息系统→站点包装;深网;信息抽取;关键词web数据提取;抓取; deep web; HTTP; AJAXACM参考格式:鲁斯兰河Fayzrakhmanov,Emanuel Sallinger,Ben Spencer,TimFurche,Georg Gottlob.2018.无浏览器Web数据提取:挑战与机遇。在2018年网络会议(WWW 2018)的会议记录中。ACM,New York,NY,USA,10页。https://doi.org/10.1145/3178876.31860081介绍“The 这种说法当然是错误的:与大多数应用程序相关的Web数据分布在异构结构的Web站点上,通常不附带模式,并且除了通过手动关键字搜索之外不能直接查询。鉴于许多公司和机构需要访问外部数据以进行更好的决策[33],他们不得不依赖于自动Web数据提取程序,也称为包装器。它们使用包装器生成器来生成包装器,该包装器连续地或周期性地提取* 本 工 作 由 EPSRC 计 划 资 助 VA DA : ValueAdedDataSystems- Principles andArchitecture,no. EP/M025268/1。 Georg Gottlob也受雇于TU Wien。Tim Furche也在英国伦敦Wrapidity Melwater本文在知识共享署名4.0国际(CC BY 4.0)许可下发布作者保留在其个人和公司网站上以适当的归属方式传播作品的权利。WWW 2018,2018年4月23日©2018 IW3C2(国际万维网会议委员会),在知识共享CC BY 4.0许可下发布。ACM ISBN 978-1-4503-5639-8/18/04。https://doi.org/10.1145/3178876.3186008用户可以从相关网站获取信息,并将这些信息以高度结构化的格式存储在本地数据库中。事实上,Web数据提取现在被工业的各个分支大量使用例如,电子产品零售商对其竞争对手提供的每日价格感兴趣,酒店和连锁超市也是如此。国际建筑公司自动从数百个网站中提取标书其他部门已将Web数据提取作为其核心业务的一部分 其中包括航班搜索引擎和媒体情报公司。自2000年左右以来,已经开发了复杂的半自动化可视化和交互式工具,这些工具允许用户通过可视化的点击动作来定义包装器。例如STALKER[36]和Lixto[3]。其他先进的半自动化工具是,例如,import.io,Mozenda [35],FMiner [15],iMacros [21],Visual Web Ripper [46]和BODE系统[45]。OXPath数据提取语言[18,25]通过模拟用户交互以及基于视觉特征的节点和表单字段选择丰富了XPath。OXPath是基于全自动高精度视觉线索的包装器生成器DIADEM的目标语言[16]。在DIADEM中,用于从属于应用领域的网站(例如,房地产)以数据日志规则的形式提供使用这样的规则和一组URL作为输入,DIADEM系统自主地提取来自属于此域的站点的数据基于视觉线索的数据提取的优点。大多数现代数据提取工具,包括提到的那些,在包装器生成过程中使用视觉线索和视觉交互,并依赖于图形和几何概念,例如两个渲染元素之间的距离[24,26]。例如,DIADEM知识库中有一条规则,其简化形式如下:网页上输入字段下方或上方最接近的文本块是该字段的解释性标签(在没有更好的信息的情况下,概率很高)。视觉线索和以可视化方式定义、修改和测试包装器的可能性使包装器设计者从必须破译每个目标网页的HTML代码以及编写作用于其的顺序程序的乏味任务中复杂网站的半自动包装器生成过程,包括测试,现在通常最多需要几个小时,而不是使用传统方法的几天基于视觉线索的数据提取的缺点。虽然对包装器设计绝对有益,但基于视觉线索的包装器(称为视觉包装器)在执行时有一个可怕的缺点:目前使用的自然方法是通过嵌入式浏览器在该渲染任务包括(a)解析网页并构建DOM树(b)应用CSS规则以及(c)执行JavaScript,这通常是计算成本最高的部分,通常对页面的DOM具有广泛的影响主题:Web内容分析,语义和知识WWW 2018,2018年4月23日至27日,法国里昂1096对OXPath中视觉包装器的相对计算成本的粗略分析表明,浏览器初始化阶段约占运行时的13%,渲染阶段约占85%,实际提取约占2%[18]。初始化和渲染共同需要的时间大约是实际数据提取时间的50倍 对于用OXPath以外的其他编程语言编写的基于视觉线索的包装器,这种不成比例是类似的,甚至更糟。从事大规模数据提取的公司在这种巨大的运行时开销下遭受痛苦。例如,金融公司、航班搜索公司或新闻服务有数百个包装器在他们自己的数据中心和租用的云资源上连续工作50倍的运行时开销导致巨大的额外成本。此外,实时提取任务(例如提取航班的当前价格)的隐含减慢常常导致用户不满。对于这些和其他关键的实时抓取任务,例如自动期权交易中的数据访问,可视化包装器实在是太慢了。HTTP包装器。为了缓解这种运行时问题,许多com-公司采用替代的手工编程的包装器来替换它们最频繁使用的包装器,我们将其称为HTTP包装器。 HTTP包装器是无浏览器包装器,其通过发送HTTP请求(类似于浏览器将发出的请求)并且通过分析接收到的回复而不呈现它们,直接从原始内容中挑选期望的数据来与远程web服务器直接交互。在我们的实验中,我们观察到HTTP包装器的平均速度是原来的23.8倍可视化包装器,甚至不包括浏览器初始化(参见Tab.①的人。HTTP包装器的另一个优点是,它们通常只发出那些对于获取所需数据真正必要的服务器请求,而跳过浏览器通常会发出的加载不相关图像,字体,CSS样式表,JavaScript代码,文本和广告的大量请求。 大约96.8%的由视觉包装器(已经忽略了图像)生成的互联网流量对于获取所需的数据是完全无用的,并且可以在相应的HTTP包装器中省略。为了构建这样的HTTP包装器,高素质的专家首先通过浏览器执行典型的用户交互,并分析浏览器和服务器之间的HTTP流量一旦他们已经理解了浏览器-服务器交互,其通常由一系列来回数据交换步骤组成,并且在他们已经识别了相关数据项的精确流之后,他们编写参数化的HTTP包装器,其模拟浏览器-服务器交互,对于每组输入参数,从远程服务器获得所需的输出数据而无需任何渲染。请注意,手工编写HTTP包装器是一项非常复杂的任务。即使是专家通常也需要几天的时间来开发和测试一个新的HTTP包装器。此外,HTTP包装器通常不如基于视觉线索的包装器健壮,并且在结构性网站更改的情况下需要更多的维护。这项工作的关键思想。令人沮丧的是,对于许多抓取应用程序,人们不得不回到老式的手动编程,数据提取社区迫切需要新的方法来避免上述两种包装器的缺点。 正如作者从与废料密集型行业的多次接触中所了解到的那样,包装类型的二分法以及在一组或另一组缺点之间进行选择的隐含必要性是一个主要的痛点。如果有一种方法能够结合可视化包装和HTTP包装的所有优点,而不共享缺点,那就太好了的任一方法。正如本文将报道的那样,我们发现这确实是可能的,我们将提供证据。我们的关键创新理念非常简单,但正如我们稍后将看到的那样,它代表了一个巨大的技术挑战:关键思想:将现代基于视觉线索的包装器自动转换为无浏览器的HTTP包装器。前者在包装器设计时使用,后者在运行时使用。当然,这样的自动化转换应该是然后,这种方法将结合相对简单的视觉包装器生成的优点与快速执行时间,实时包装的适用性,低成本,并减少HTTP包装器的互联网流量显然,使用所提出的新方法,包装器的维护也比手工制作的HTTP包装器更简单我们观察到,变形的方法实现了包装器的鲁棒性水平,这是不差于视觉包装器的鲁棒性水平因此, 由此可见,所提出的HTTP包装器生成方法在成功时不具有针对包装范例中的任一个所提到的缺点。当然,这假设转换本身是稳健的,这是一个关键的研究挑战。据我们所知,从来没有人试图建造一个...从可视化包装器到HTTP包装器的自动转换这并不令人惊讶,因为这是一项结合了几项艰苦研究挑战的艰巨努力。本工作的主要贡献及其结构详述如下:问题定义、挑战和局限性(第2节)。我们开辟了新的领域,自动HTTP包装器生成的视觉线索为基础的包装器。我们提出了一些陷阱,引起有趣的研究挑战,并设置我们在本文中假设的限制。Fast-t-Wrap方法(第3节)。 我们提出了第一个ap-proach自动生成HTTP包装从视觉线索的包装。这包括通过“依赖关系图”的概念识别浏览器-服务器交互之间的依赖关系的新技术该图是通过基于它们的相似性来概括浏览器-服务器交互的新方法以及许多其他技术工具获得的。我们提出了高层次的方法,以及一个具体的算法。复杂的分析任务在相对较短的时间内完成:翻译过程平均耗时不到一分钟评价(第4节)。 我们提出了一个全面的评估,我们的方法的实施,证明自动生成HTTP包装的主要可行性。令人鼓舞的是,即使考虑到方法范围的限制,结果也相当有希望:系统在79.2%的测试用例中成功地生成了HTTP包装器。我们的评估表明,这些HTTP包装器的速度平均为23.8倍,使用的网络流量减少31.3倍,发送的请求减少71.4倍,而不是通过Firefox禁用图像执行的原始交互式包装器。相关工作和研究方向(第5和6节)。 在讨论相关工作之后,我们根据第2节中描述的挑战和限制以及第4节中的评估确定了研究方向。····主题:Web内容分析,语义和知识WWW 2018,2018年4月23日至27日,法国里昂1097图1:从Vaux-hall提取的四步交互2问题定义、挑战和限制以复杂Web应用程序为目标的可视包装器需要模拟特定的用户交互序列,以达到当前Web页面的某个状态(例如, 以获得关于由AJAX请求加载的产品的详细信息)或到达具有相关数据的页面(例如,发送填写的Web表单或导航到特定页面)。 这些交互用输入和输出指令来丰富,参数化这样的交互式包装器,例如,以定义某个表单字段应当接收位置作为输入,并且要提取的搜索结果页面的特定部分是电话号码。参数化对于密集的大规模数据提取是必要的。可视化包装器通过在集成的Web页面呈现引擎中触发DOM事件(如单击或按键)来模拟用户操作在图1中,我们看到了一个用于提取汽车经销商细节的可视化包装器的示例。 该场景由四个用户交互的序列表示:输入搜索关键字(输入参数)、从自动完成列表中选择相关建议、单击搜索按钮(其显示对应的汽车经销商的列表)以及单击指向更详细视图的链接(其显示目标输出数据)。我们可以观察到两个层次的交互:用户-浏览器交互和基于HTTP的浏览器-服务器通信。在第一级上,数据提取场景由与所呈现的图形界面的交互模拟的用户动作(例如,- 如图所示。1)触发HTTP请求-响应交换(HTTP交互)的调用以及解析和修改从服务器获得的数据的JavaScript代码的执行。在我们的例子中,图。1,可视化包装器执行将产生一系列HTTP跟踪,如图1所示。 2(将在第二节中解释。(3)第三章。例如,用户操作,将输入字符串输入到搜索表单中,通过触发HTTP请求-响应来生成自动完成列表后者是一个AJAX请求,从服务器返回一个JSON对象,由客户端的JavaScript转换本文的主要目标和问题是如何消除第一级交互(以及浏览器),并专门使用HTTP交互进行Web数据提取作为第二个目标和问题,我们还希望通过消除那些不会导致具有所需数据的HTTP响应的HTTP局限性。我们现在描述我们在考虑的包装器和网站上故意设置的限制两个在视觉包装器上,两个在我们的方法适用的网站所有这四个都是重要的限制,引起了有趣的研究挑战,并在第二节讨论。六、单一目标页面。虽然所考虑的视觉包装器可能会访问任意多个页面在执行过程中(和导航可能是任意复杂的),我们只考虑视觉包装器的最终提取的数据包含在一个单一的网页,我们称之为目标页面。这种限制不是必要的,因为它没有触及无浏览器Web数据提取中的主要关键点事实上,从概念上来说,将该方法推广到从多个页面获取数据的包装器并不难。此外,请注意,在各种工业应用程序中使用的绝大多数包装器都是单目标页面包装器(例如,在我们迄今为止考虑的应用程序领域中,这些包装器超过80%)。大多数从多个页面中提取数据的包装器都是这样做的,因为下一页链接很容易识别和自动处理,但为了避免不相关的开销并集中于基本内容,这里不考虑。平淡的唱片。为了简单起见,我们只考虑提取平面数据记录作为输出的可视化也就是说,我们不允许记录嵌套,没有可选字段,也没有复合数据值。我们相信,这种限制可以很容易地解除国家的最先进的结构识别技术。具有可再现交互的服务。这里我们还排除了不稳定的服务器,即, Web服务器对相同的请求进行回复,但在响应中的内容有很大的不同。根据我们的观察,绝大多数都与动态生成的会话ID有关,这一事实缓解了这种限制:当使用相同的会话ID重复请求时,服务器可以返回错误消息。对于会话id,特殊的方法是可能的,如将在第2节中讨论的六、 在一些web域中,内容可以根据后端数据库中的数据频繁地改变(例如,商店中的产品或航班详情)。在我们的方法中,我们假设内容在HTTP包装器生成过程中不会改变。没有谷歌地图地理编码API。 我们不支持使用Google MapsAPI的网站。更具体地说,我们不允许使用Google Maps API作为包装器执行的必要部分的网站。其更深层次的原因是,相应的请求可能在不同的跟踪中使用不同的参数实际上,这个API将查询值编码到参数名中。然而,有一个显而易见的解决方案:仔细分析代码,生成一个定制的通用HTTP包装器,用于与GoogleMaps服务交互。如果一个包装器满足上面给出的四个包装器限制,则它被称为兼容的3FASTWRAP方法在本节中,我们将介绍F A stW RA p,我们的方法和自动生成HTTP包装器的算法。该算法将被称为输入包装器的视觉包装器连同其输入参数一起作为输入,并且产生被称为输出包装器的相应的无浏览器HTTP包装器作为输出。输出包装器提取与输入相同的数据主题:Web内容分析,语义和知识WWW 2018,2018年4月23日至27日,法国里昂1098图2:Vauxhall示例的HTTP跟踪示意图,用户输入为HTTP交互按时间顺序排序。它还说明了参数匹配以及用户操作和触发的HTTP交互之间的关系。通过直接与网站的服务器交互来实现对网页的封装实现我们的方法的FA stWRAp系统通过执行输入包装器及其输入参数来收集和分析输入包装器和Web服务器之间的请求-响应交换的序列(称为HTTP跟踪或简单地跟踪)来工作。具体地,这些交换源于渲染引擎(如在例如,Lixto [19]),无论它 是 否 是 浏 览 器 的 一 部 分 ( 如 在 Mozenda [35] 或 OXPath[18])。HTTP跟踪还包括由输入包装器提取的数据(所谓的输出记录)。 此数据用于识别目标HTTP交互(或目标交互),并在其响应中显示所需的输出记录。此外,所提供的记录用于生成数据选择器以从内容中提取数据并将其转换为结构化表示。如果输入参数是必需的(例如,对于Web表单填充),HTTP跟踪也包括这些。它们被用来正确地诱导输出包装器提取相同的数据作为输入包装器。因此,包装器的创建完全基于对这些HTTP跟踪的直接分析 这使得我们的方法适用于广泛的视觉包装,并避免将其绑定到任何特定的系统。3.1方法概述总体的Fat/ stW/ ra方法可以通过以下四个主要步骤直观地解释所使用的一些术语的更正式的定义将在第2节中给出3.2. 核心算法在Sec. 3.3节中的一些进一步的技术细节三点四分。步骤1:对示例输入参数执行输入包装器,并收集每次运行的相应HTTP跟踪,以及输入参数和输出记录。在输入包装器没有输入参数的特殊情况下,只执行一次输入包装器。在步骤1中,使用不同的输入参数(例如,“Preston”、“Southampton”和“Walton”(对于输入参数city),产生相应数量的HTTP跟踪。具有用户输入“Preston”的轨迹的图形表示二、我们的算法看到的实际跟踪是HTTP请求-响应消息的日志(在本例中从OXPath包装器执行引擎获得),其中每个响应可能包含HTML、JSON、XML或其他格式。步骤2:分析跟踪以识别包含目标记录的那些HTTP交互最初,目标records是输出记录,而对于后续的递归调用,它们由步骤4.7提供。在我们的示例中,交互是携带所需输出数据的交互之一在随后的调用中,步骤2将分析交互、、和。通过这种方式,从输出记录开始分析轨迹,并返回到输入参数。这种方法的优点是,仅考虑与输出因果相关的交互,而其他不相关的交互(例如,下载广告)被忽略。在我们的例子中,所有没有数字的交互(用矩形表示)都是这样的不相关交互。步骤3:将包含来自不同跟踪的目标记录的类似HTTP交互分组到相同的等价类中。如果两个交互共享完全相同的参数名称(可能具有不同的参数值),则它们是等效的在我们的例子中,回想一下图。3仅示出了一个可能的输入参数的单个轨迹,即用于Preston的轨迹。对于其他输入参数,诸如“Southampton”、“Walton”等,存在其他这样的轨迹其中,例如,代替交互作用,我们将有交互作用′,′,′(对于南安普敦)和′′,′′,”(Walton)。第3步现在将,’和’’分组到相同的等价类中,并对其他交互进行相同的操作。请注意,在我们的简单示例中,分组看起来相当简单。在更复杂的情况下,不同输入的轨迹当然可能不同,并且导出等价类的确切等价概念是重要的,我们将在后面讨论步骤4:对于每个等价类c,执行:步骤4.1:生成能够提取所需记录(在步骤2中确定)的数据选择器也就是说,生成单个数据选择器,对于等价类c的每个交互e,从交互e的HTTP响应中提取所需的记录。如果无法生成数据选择器,则跳过步骤4.2通常情况下,可以在多个等价类中找到相同参数的提取器。例如,交互需要参数CADC和UPSC。事实上,这些都是可以获得的。能够从四种不同的交互类,即、和。然而,交互和包含所有可能的CADC,因此,选择器生成分别针对交互和(的等价类)失败。然而,选择器可以很容易地从交互中,或者,选择器生成成功。注意,对于交互,算法生成基于XPath的数据选择器,因为响应是HTML。在其他情况下,响应是例如JSON格式的,在这种情况下,它将生成JSONPath。有时需要对提取的数据进行变换,在这种情况下,它们被我们的算法识别并应用。步骤4.2:确保来自equivalence类的所有HTTP交互都是可重复的。 也就是说,重新执行每个请求,并检查选择器是否仍然选择相同的数据。否则,跳过步骤4.3步骤4.3:对于等价类c,将参数分类为恒定参数和可变参数。常量参数在c中的所有交互作用上具有相同的值;变量参数具有两个或多个这样的值。在我们的示例中,参数CADC和UPSC(来自HTTP POST请求的主体)是变量,因为它们在不同的跟踪中以不同的值出现(例如CADC的GBW3C1,GBW771,GBC678)。在主题:Web内容分析,语义和知识WWW 2018,2018年4月23日至27日,法国里昂1099←←←()下一页()下一页()下一页(P)P {}同时也有恒定的参数,例如x-brand总是vauxhall,x-language总是en(来自URL步骤4.4:利用查询探测技术,消除多余的变量参数:可以省略而不影响由步骤4.1中导出的数据选择器从HTTP响应中提取的数据的那些变量参数。原则上,该算法还可以在不必要时去除常数参数。然而,去除可变参数是最重要的;这减少了要满足的依赖关系的数量,因此减少了算法的搜索空间。步骤4.5:合成抽象HTTP交互,即包含占位符的HTTP请求,占位符将用可变参数的值这些将是依赖关系图的节点。对于我们的示例,Fig.图3示出了从图1中的(具体)HTTP交互生成的抽象HTTP交互。二、例如,的等价类对应于。步骤4.6:在c中找到变量参数,其值直接来自输入参数。例如,可以从输入中获得参数city in interaction。注意,在这种情况下,参数字面上出现在输入中(即, 我们将字符串“Preston”作为参数值,并且将完全相同的字符串“Preston”作为输入),但是在其他情况下可能需要变换,如步骤4.1中所示。步骤4.7:对于每个无法从输入中获得的变量参数v,递归地转到步骤2设目标记录为v的所有参数值。为了避免递归循环,请从跟踪中删除c的等价类中的所有交互从递归调用中,对于每个这样的可变参数v,我们得到一个依赖图Dv,或者发现对于v不能得到这样的依赖图。例如,对于抽象交互,不能从输入参数获得可变参数CADC。因此,我们递归地转到步骤2,使用CADC的值作为目标记录,即,集合{GBW 3C 1,GBW 771,GBC 678}。对于此递归调用,不再考虑的等价类中的所有交互 该递归调用返回“局部”依赖图D_CADC(其最终将成为由算法构造的总体依赖图的子图)。 对于可变参数UPSC,其产生依赖图DUPSC。实际上,这两个图都具有以下形式:注意,通过这种递归,最终的包装器不需要以时间顺序保持HTTP请求,而是可以重新排列它们以获得更有效的包装器。步骤4.8:如果对于某个可变参数v,依赖图Dv不能被计算,则跳过该步骤。否则,通过合并所有“局部”依赖图Dv来创建新的依赖图D向D添加c的抽象交互以及从c到每个Dv和c的边。返回D。在我们的例子中,对于抽象交互,我们在前一步中获得了图,因此合并的结果正好是图表。算法在其中加入了抽象的交互作用,以及两条边(从到),其中一条用变量标记CADC,另一个是UPSC。这示于图3.第三章。这是对算法的简化解释 如可见于图在图3中,除了所讨论的那些之外,还生成HTTP包装器的其他部分但是,它突出了中心概念。图3:Vauxhall示例的广义HTTP交互的整体依赖图(省略了断开连接的节点)和相应的HTTP包装器3.2主要概念的形式定义我们现在给出我们在第二节中非正式介绍的一些概念的正式定义3.1,并且由FA st-WRA p算法使用由于空间的原因,我们不能给出所使用的所有数据结构的详细定义3.1. HTTP交互(或简单地交互)将HTTP请求-响应交换表示为元组U,Vi,B,其中U是参数化URL(没有其查询部分并且具有被“/”分割的段的值的URL,被移除); V是HTTP动词;并且= P1,P2,. . . 是一组HTTP请求参数,每个参数都是指定参数名称和值的参数对ρi=ni,vi。参数名是一对o,s,由原点和原点特定的名称组成。 Origin是“header”、“path”、“query”或“post”中的一个。□HTTP跟踪是在可视化包装器的单个执行期间观察到的HTTP交互的序列。它可以由代理服务器收集,也可以直接从输入包装器的解释器收集。 轨迹另外包含视觉包装器的输入数据(例如,用于表单填充)和提取的输出数据。如果HTTP跟踪的交互在其响应中包含所有提取的输出数据,则称为目标交互。定义3.2. 抽象HTTP交互是HTTP交互的等价类如果两个交互具有相同的签名和相同的响应内容类型,则它们是等效的。HTTP交互的签名是HTTP交互的参数名称的集合忽略参数的 值 ) 。 响 应 内 容 类 型 是 响 应 的 MIME 类 型 ( 例 如 ,text/html或application/json)。抽象HTTP中的参数名(或简称为参数)相互作用是恒定的或可变的。设V是原始HTTP交互中参数的所有值的集合。如果这个集合V包含单个元素,则参数称为常量,否则称为变量。□从概念上讲,抽象HTTP交互表示如上定义的等价类在实现中,它是具有空响应主体B的HTTP交互模板(U,V,P,B),并且其中从P中移除可变参数的值。定义3.3. 依赖图是DAG,其节点是抽象HTTP交互,其中每个边由元组n,s,t注 释 , 其中n是参数名称,s是数据选择器 , t 是 值 Transformer 。 数 据 选 择 器 是 表 达 式 ( 例 如 ,XPath、JSONPath或正则表达式),用于从HTTP响应内容中提取数据。值Transformer是将从一个交互的响应中提取的数据转换为相关交互所需的格式的函数。节点可以被标记主题:Web内容分析,语义和知识WWW 2018,2018年4月23日至27日,法国里昂1100·作为目标交互。此外,该图还包含特殊的节点输入和输出,每个节点都用参数名进行了注释。□图3显示了Vauxhall示例的依赖关系图它包含所有可用的跟踪集的所有抽象交互,以及它们的依赖关系。图中的一些匹配2不产生相应的抽象依赖关系;特别是,没有之间的边 和 ,或 和.这是因为和包含了某些参数的所有可能值,而且它不可能产生一种数据选择器,该数据选择器可以精确地只提取与给定的用户输入相对应的相关数据定义3.4. HTTP包装器是具有以下属性的依赖关系图:它始终包含一个标记为目标交互的节点所有参数依赖关系都已解析。 也就是说,对于图中的每个抽象相互作用,如果它包含一个名为n的参数,则存在一个标记为n的传出边。 □HTTP包装器可以通过以提供输出数据的单个目标交互为根的深度优先遍历来直接执行。每个交互在从用户输入或从其他HTTP交互获得其所有可变参数的值之后被发起。3.3Fast-t- Wrap算法从识别最终的交互开始,递归地构造抽象的HTTP交互并设置它们对应的依赖弧。对每个潜在依赖性的这种探索对应于通过隐式依赖性图搜索合适的包装器。 一旦找到有效的包装器,搜索就终止。 假设存在一个,则为每个目标节点生成一个包装器。然后,用户或外部系统可以根据其自己的目标函数,基于诸如精度、召回率、交互次数或运行时间之类的标准来选择其中之一。Alg. 图1示出了在已经生成迹线之后在步骤2处开始的、在FA stWRAp的核心处的核心算法给定所记录的HTTP跟踪T的集合,通过调用FI nD-W_ rappe_ s(T,output(T),true)来调用算法,其中output(T)表示每个跟踪的输出数据。FASTW_RA_p 算 法 由 两 个 函 数 组 成 : FINDW_RA_pe_ s 和ResolveDepen_D_ENCIES。前者找到a)包含所有所需数据的最终 抽 象 交 互 ( 参 见 行 3 ) , 以 模 式 1 ( init=true ) 执 行ResolveDepen_ENCIES,以及b)中间抽象交互(具有它们的依赖关系子图),其中的每一个提供特定变量参数的值(参见行5给定一组参数(在模式 2中,该组由单个参数组成),ResolveDepend编码器又递归地构建HTTP包装器,识别与其响应中的期望数据的对应交互并添加适当的依赖性边。3.4实现细节FA stWRA p是用Python实现的。对于数据和参数值提取,FastWrap实现了两种类型的数据选择器:XPath和JSONPath。它目前支持XPath1.0的一个子集,用于从HTML和XML内容中提取内容 这个子集包括节点测试、位置谓词、属性、子轴和后代轴。JSONPath是JSON数据1的类似查询语言,用于从JSON和JSONP文档中选择数据。所有数据1我们的JSONPath表示法类似于http://goessner.net/articles/JsonPath/选择器还可以选择子结构(即, 在XPath的情况下是子树,在JSONPath的情况下是嵌套对象)和子字符串(通过位置或通过在特定符号上分割)。FA stWRA p支持六种基本类型的值转换,这些转换是基于对各种真实世界网站的分析而引入的,独立于本实验中评估的数据集删除双空格、前导空格和尾随空格。提取子字符串并与常量字符串连接。空格转换,如空格到加/减号。使用较新[5]和较旧[6]标准的URL编码(解码)。替换HTML转义符号。更改实数的精度我们还支持两种特定的复合转换:• 空格到加号,后跟URL编码。• URL编码,后跟字符串连接。·······主题:Web内容分析,语义和知识WWW 2018,2018年4月23日至27日,法国里昂11014评价在本节中,我们将对不同类型网站上的F A st-W RA p方法进行广泛的评估。 对于实验,我们在Python中实现了F A stW RA p系统。它执行可视化包装器并分析HTTP跟踪以构建相应的HTTP包装器。我们选择了OXPath,一个国家的最先进的网络数据提取系统,作为我们的实验的视觉包装系统。4.1测试用例的选择总共,我们考虑了130个包装器,其中101个(78%)是符合要求的(根据第12节的定义)2)的情况。在29个被拒绝的包装器中,有45%的包装器具有携带相关数据的不可复制的交互,另外55%的包装器调用Google Maps API来获取必要的数据(特别是获取作为用户输入的位置的地理坐标)。兼容的包装器(原始130的78%)跨越了各种应用领域,并具有不同程度的难度。特别是,我们考虑(A)更复杂的例子,涉及Web表单交互和(B)简单的情况下,没有Web表单交互。A型测试用例。类型(A)用于测试我们的成功率一种将与具有不同输入参数(这是Deep Web数据提取所必需的)的Web表单交互的包装器转换为HTTP包装器的方法。 对于这类测试用例,我们测试了(i)来自DIADEM数据集[ 17 ]的美国连锁餐厅的12个OXPath包装器;(ii)知名汽车经销商网站的11个OXPath包装器;(iii)12个OXPath包装器,用于流行的网站,主要来自零售领域,具有两个或三个模拟用户交互(例如,点击和输入),其中每一个触发HTTP请求(通常通过AJAX调用),以提供后续交互所需的内容(我们称这类A-multisteppers);(iv)25个OXPath包装器,用于随机选择的带有Web表单的网页(称为A-RND)。随机网站是通过从Common Crawl搜索索引数据集中随机抽样URL来选择的,该数据集包括大约30亿个网页。 由于不存在用于类别(ii)、(iii)和(iv)的现有包装器,因此手动编写新的OXPath包装器。来自类别(A)的包装器是典型的基于搜索的包装器,其填充web表单并从第一结果页面提取数据(其可能涉及加载附加数据的AJAX请求)。有趣的是,测试集(iv),即,随机URL被证明比类别(i)-(iii)更简单和更容易处理,类别(i)-(iii)表现出相当同质的行为。因此,我们将(i),(ii)和(iii)分组为单个类别A-RCM(餐厅,汽车和多步车)。因此,类(A)由两个子类组成:A-RCM和A-RND。B型测试用例。类型(B)包括来自DIADEM数据集的用于美国餐馆连锁店的41个附加OXPath包装器 与来自集合(i)的餐馆包装器相比,这些包装器不需要填充卷筒纸表单并且不从用户获取输入参数。因此,对于这类测试用例,分析单个HTTP跟踪就足以识别任何目标HTTP交互。 这种方法适用于任何使用单个线性导航并且不依赖于输入数据的包装器,即使该导航需要多个步骤或页面下载。4.2实验装置每个实验包括两个阶段:(1)执行可视化包装器和(2)生成HTTP包装器。对于第1阶段,在禁用图像的情况下执行OXPath它扩展了一个代理服务器模块,以侦听HTTP请求-响应交换并将其记录为HTTP跟踪,包括图4:总体结果输入参数和提取的数据。类型(A)的每个包装器(即,A-RCM和A-RND)使用手动选择的不同输入参数执行八次 类型(B)的包装器不需要输入,并且每个包装器执行一次。在阶段2中,使用阶段1中存储的HTTP跟踪来诱导HTTP包装器并对其进行测试。 类型(A)的包装器使用八条迹线中的五条用于感应(即,构建HTTP包装器)。其余三个跟踪用于评估生成的HTTP包装器的正确性和性能类型的包装纸(B)在来自阶段1的单个迹线上诱导和评估4.3实验结果在本节中,我们将首先讨论整体成功率(图的下半部分)。4)的F A stW RAPAPAPAPPROACH。然后,我们将生成的输出包装器的性能与原始输入包装器的性能进行比较(Tab. ①的人。最后,我们将更详细地讨论生成的包装器的特性(Tab.2)的情况。 秒 4.4给出了详细的失效分析,使我们能够得出重要的结论,以便将来进行必要的研究,使这种方法达到工业强度(图的上半部分)。4).总体结果。总的来说,我们的实验评估显示成功率79.2%。然而,有趣的是,它在测试集上表现出完全不同的性能。特别地,HTTP包装器被成功地生成为48.6%的A-RCM包装器、96.0%的A-RND包装器和95.1%的B类型包装器(图的下半部分图4的其余部分将在后面讨论生成包装器所需的平均时间为44.9秒。 对于较简单的B类包装器,平均为2.1秒。 由于更大数量的交互,特别是HTTP响应(以及跟踪)中更复杂的数据结构,以及稍微更大的数据量,A-RCM的平均生成时间为137.9秒。包装器生成时间显示在Tab中。2,其其他列将在下面进一步讨论。性能比较。可以在Tab中看到1、所有gen-在所有测试集上,经验证的HTTP包装器的性能大大优于相应的OXPath包装器生成的包装器的资源使用率低了几个数量级,这证实了我们最初的预期,即HTTP包装器的平均运行时间仅为其可视化包装器的4.2%。生成的HTTP包装器仅使用3.2%的数据流量,仅执行1.4%的HTTP交互。有趣的是,虽然测试用例A-RND和B-type中的HTTP交互数量是主题:Web内容分析,语义和知识WWW 2018,2018年4月23日至27日,法国里昂1102表1:OXPath和HTTP包装器的比较分析OXPath包装器HTTP包装器比较包装纸时间†(ms)数据‡(KB)相互作用时间(ms)数据(KB)相互作用时间(%)数据(%)相互作用(%)A-RCM337804151九十011451341 .一、53 .第三章。43 .第三章。21 .一、7A-RND22299283979岁。71314761 .一、0五、9二、71 .一、3b型二万三千八百七十九1523三十八岁。6837691 .一、03 .第三章。5四、6二、6所有269173013七十六。91139961 .一、1四、23 .第三章。21 .一、4†无需浏览器初始化‡无需加载图像表2:生成的HTTP包装器的特征世代(s)内容格式(%)变压器♦(%)忽略的变量参数(%)稳定正确的模型(%)成功评价(%)从HTTP跟踪生成HTTP包装器◆n-始终为1(分别为1.3%)初始交互次数的2.6%),对于测试用例A-RCM , 平 均 为 1.5 ( 1.7% )这 主 要 源 于 子 类 A-multisteppers,特别是八个包装器,其中七个在我们的HTTP包装器中需要两个交互,一个需要三个交互(即我们的运行示例,Vauxhall)。 在这些情况下,由于在客户端上不计算的附加转换,需要多个交互,因为它们需要来自服务器
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 京瓷TASKalfa系列维修手册:安全与操作指南
- 小波变换在视频压缩中的应用
- Microsoft OfficeXP详解:WordXP、ExcelXP和PowerPointXP
- 雀巢在线媒介投放策划:门户网站与广告效果分析
- 用友NC-V56供应链功能升级详解(84页)
- 计算机病毒与防御策略探索
- 企业网NAT技术实践:2022年部署互联网出口策略
- 软件测试面试必备:概念、原则与常见问题解析
- 2022年Windows IIS服务器内外网配置详解与Serv-U FTP服务器安装
- 中国联通:企业级ICT转型与创新实践
- C#图形图像编程深入解析:GDI+与多媒体应用
- Xilinx AXI Interconnect v2.1用户指南
- DIY编程电缆全攻略:接口类型与自制指南
- 电脑维护与硬盘数据恢复指南
- 计算机网络技术专业剖析:人才培养与改革
- 量化多因子指数增强策略:微观视角的实证分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功