System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 自适应数据收集优化制造技术_技高网

自适应数据收集优化制造技术

技术编号:39936123 阅读:6 留言:0更新日期:2024-01-08 22:11
公开了智能地优化数据收集请求的系统和方法。在一个实施例中,系统被配置为识别和选择适当参数的完整集合以执行数据收集请求。在另一个实施例中,系统被配置为识别和选择适当参数的部分集合以执行数据收集请求。本实施例可以实现机器学习算法以按照数据收集请求和目标的性质来识别和选择适当的参数。此外,实施例提供了基于数据收集参数的有效性来生成反馈数据的系统和方法。此外,实施例提供了基于反馈数据和总成本对适当参数集合进行评分的系统和方法,该适当参数集合和分数然后被存储在内部数据库中。

【技术实现步骤摘要】
【国外来华专利技术】

本公开属于web抓取和数据收集技术的领域。本文中详述的方法和系统旨在优化web抓取过程,其中,优化是通过采用机器学习算法来实现的。


技术介绍

1、web抓取(也称为屏幕抓取、数据挖掘、web收获)在其最一般的意义上是从因特网自动搜集数据。从技术上说,它是通过除人类使用web浏览器或与应用编程接口(api)交互的程序以外的任何方式从因特网搜集数据的做法。web抓取通常是通过执行一个程序来完成的,该程序查询web服务器并自动请求数据,然后解析数据以提取所请求的信息。

2、web抓取器是为web抓取而编写的程序,它与其他访问信息的方式,比如web浏览器相比具有显著的优势。后者旨在以可读的方式为人类呈现信息,而web抓取器则擅长快速收集和处理大量数据。web抓取器能够同时收集、处理、聚合和呈现由数千甚至数百万个页面组成的大型数据库,而不是通过监视器一次打开一个页面(像web浏览器那样)。

3、在一些情况下,网站允许另一种自动方式经由api将其结构化数据从一个程序传送到另一个程序。通常,程序将经由超文本传送协议(http)向api请求某种类型的数据,并且api将以结构化形式从网站返回该数据。它充当传送数据的介质。然而,使用api不被视为web抓取,因为api由网站(或第三方)提供,并且它消除了对web抓取器的需求。

4、api可以将格式良好的数据从一个程序传送到另一个程序,并且使用它的过程比构建web抓取器来获得相同数据更容易。然而,对于所需的数据,api并不总是可用。此外,api经常使用容量和速率限制,并限制数据的类型和格式。因此,对于不存在api或以任何方式受到api限制的数据,用户会使用web抓取。

5、通常,web抓取包括以下步骤:从网站检索超文本标记语言(html)数据;针对目标信息/数据解析所述数据;保存目标信息/数据;如果需要,则在另一页上重复该过程。设计用于完成所有这些步骤的程序称为web抓取器。相关程序——web爬虫(也称为web蜘蛛)——是进行第一项任务的程序或自动化脚本,即,它以自动化方式巡览web以检索所访问网站的原始html数据(该过程也被称为标引)。

6、抓取活动可以由通常如下分类的多种类型的抓取应用进行/执行:

7、浏览器——一种通常在最终用户会话的上下文中在计算设备内执行的应用,具有足以接受用户的请求、将该请求传递给目标web服务器、处理来自web服务器的响应、并将结果呈现给用户的功能。浏览器被视为一种启用用户侧脚本编写的工具,例如能够执行和解释javascript代码。

8、无头浏览器——没有图形用户界面(gui)的web浏览器。无头浏览器在类似于流行的web浏览器的环境中提供网页的自动控制,但是经由命令行界面或使用网络通信来执行。它们对于测试网页特别有用,因为它们能够像浏览器一样渲染和理解html,包括诸如页面布局、颜色、字体选择以及javascript和ajax的执行之类的样式元素,而这些在使用其他测试方法时通常不可用。可以识别两个主要的用例:a)脚本化的网页测试——目的是识别缺陷,而必须与用户活动非常相似。b)web抓取——为了避免阻止,与用户活动的相似性是强制性的,即,请求应具有有机web浏览请求的所有属性。无头浏览器被视为一种启用用户侧脚本编写的工具,例如能够执行和解释javascript代码。

9、命令行工具——允许通过命令行终端,例如curl生成和提交web请求的无gui应用。此类别中的一些工具可能在顶部包装了gui,但是图形元素不会涵盖显示http请求的结果。命令行工具的功能受到限制,因为它们无法执行和解释javascript代码。

10、编程语言库——利用语言编写的,具有通过其调用行为的定义明确的接口的行为实现的集合。例如,当要调用特定的http方法来执行抓取请求时,抓取应用可以使用包含所述方法的库来进行系统调用,而不是在程序代码中一遍又一遍地实现这些系统调用。另外,提供该行为以供多个独立程序重用,其中程序经由语言的机制来调用库所提供的行为。因此,库的价值在于行为的重用。当程序调用库时,它获得了在该库内实现的行为,而不必自己实现该行为。库鼓励以模块化的方式共享代码,并简化代码的分发。编程语言库的功能受到限制,因为它们无法执行和解释javascript代码,除非有另一种工具能够进行用户侧脚本编写,对其来说库是包装器。

11、上面列出的抓取应用类型在它们拥有的技术能力上有所不同,通常是由于开发应用的目的不同。在向目标web服务器发送初始请求时,列出的所有类型的抓取应用都会传递提交和处理web请求所必需的参数,例如http参数-报头、cookie、声明它们支持的http协议版本并打算以该版本进行通信,以及在发起作为http请求的基础的传输控制协议(tcp)会话时公开的tcp参数(例如,tcp窗口大小和其他)。如上所述,浏览器和无头浏览器可以处理在web服务器响应内获得的javascript文件,例如,当被请求时通过javascript提交配置设定,而命令行实用程序无法做到这一点。

12、在处理web服务器的响应时,列出的所有类型的抓取应用都能够获得、解释、渲染或以其他方式处理并呈现http元数据和主html文档,而列出的一些抓取应用不具有处理从web目标的响应获得的附加文件的功能,例如在客户端执行脚本化代码。因此,web收获工具的实际分类是基于它们执行和解释javascript代码的能力的。

13、如上所述,浏览器和无头浏览器可以处理在web服务器的响应中获得的javascript文件,例如,当被请求时通过javascript提交配置设定,而命令行实用程序和编程语言库无法做到这一点。

14、这里适当的是转移到机器学习的主题,机器学习在计算和信息
已经获得了重要的价值。近年来,人工智能(ai)已成为计算和联网技术的重要发展之一。人工智能和机器学习对信息技术部门的工作方式产生了积极影响。机器学习是人工智能和计算机科学的一个分支,它专注于使用数据和算法来模仿人类的学习方式,从而逐渐提高其准确性。机器学习技术的目标是当通过用户对于给定环境定义的逻辑处理新的数据实例时优化系统的性能。为了有效地实现该目标,机器学习极大地依赖于统计和计算机科学。统计方法为机器学习算法提供了从数据中推断结论的方法。另一方面,计算机科学方法赋予机器学习算法解决问题的计算能力,包括有用的大规模计算架构和算法,用于捕获数据、操纵数据、标引数据、组合数据和利用数据进行预测。

15、在联网和计算领域,机器学习技术主要应用于分析、预测、权限控制和个性化。例如,机器学习技术用于预测移动用户在使用智能应用时的隐私偏好。机器学习已经成为日益增长的计算机科学领域的重要组成部分。通过使用统计方法,训练机器学习算法进行分类或预测,从而在数据集中找到关键见解。这些见解随后驱动应用和业务中的决策制定,理想情况下改进开发度量。

16、机器学习中的‘算法’是在数据上运行以创建机器学习‘模型’的过程。机本文档来自技高网...

【技术保护点】

1.一种在执行抓取请求时通过识别适当的参数来优化抓取请求的方法,所述方法包括:

2.按照权利要求1所述的方法,其中所述分类决策是“阻止”响应或“非阻止”响应。

3.按照任一前述权利要求特别是权利要求2所述的方法,其中接收到分类决策的“非阻止”响应的抓取请求参数集合比接收到“阻止”响应的抓取请求参数集合接收更高的分数。

4.按照任一前述权利要求特别是权利要求3所述的方法,其中接收到分类决策的“阻止”响应的抓取请求参数集合比接收到“非阻止”响应的抓取请求参数集合接收更低的分数。

5.按照任一前述权利要求特别是权利要求3所述的方法,其中如果对于后续抓取请求,分类决策接收到“阻止”响应,则利用新的经评分的抓取请求参数集合来重复在执行抓取请求时通过识别适当的参数来优化抓取请求的所述方法。

6.按照任一前述权利要求特别是权利要求5所述的方法,其中对于后续抓取请求重复在执行抓取请求时通过识别适当的参数来优化抓取请求的所述方法,直到分类决策是“非阻止”响应或达到最大尝试阈值为止。

7.按照任一前述权利要求特别是权利要求6所述的方法,其中来自“非阻止”响应的数据用于将来的抓取动作。

8.按照任一前述权利要求特别是权利要求1所述的方法,其中所述抓取请求参数集合的评分受针对抓取请求参数计算的总抓取请求成本的量的影响。

9.按照任一前述权利要求特别是权利要求1所述的方法,其中抓取请求参数的所述部分集合包括单个抓取请求参数或者包括以下任何参数的组合:

10.按照任一前述权利要求特别是权利要求1所述的方法,其中当在不同的参数集合内记录抓取请求参数的新分数时,修改所述机器学习算法。

11.按照任一前述权利要求特别是权利要求1所述的方法,其中后续的经评分的抓取请求参数集合与所述抓取请求参数集合相同。

12.一种提高从因特网的数据抓取的质量的方法,所述方法包括:

13.按照权利要求12所述的方法,其中反馈数据旨在传达在执行对目标域的抓取请求时所述抓取请求参数集合的有效性。

14.按照权利要求12-13任意之一特别是权利要求12所述的方法,其中反馈数据至少包含以下之一:分类决策、目标域或所述集合。

15.按照权利要求12-14任意之一特别是权利要求12所述的方法,其中抓取请求至少包括目标域的URL或一个或多个抓取请求参数。

16.按照权利要求12-15任意之一特别是权利要求12所述的方法,其中在接收到后续抓取请求时,所述提取器忽视在后续抓取请求中指示的每个抓取参数,并向优化器请求抓取参数的完整集合以对目标域执行抓取请求。

17.按照权利要求12-16任意之一特别是权利要求12所述的方法,其中在接收到后续抓取请求时,所述提取器使用来自后续抓取请求的一个或多个抓取请求参数,并向所述优化器请求抓取请求参数的部分选择,以对目标域执行抓取请求。

18.一种在执行抓取请求时通过识别适当的参数来优化抓取请求的方法,所述方法包括:

19.一种存储指令的计算机可读介质(506),所述指令当由至少一个处理器执行时,使所述至少一个处理器实现按照权利要求1-11任意之一所述的方法。

20.一种存储指令的计算机可读介质(506),所述指令当由至少一个处理器执行时,使所述至少一个处理器实现按照权利要求12-17任意之一所述的方法。

21.一种存储指令的计算机可读介质(506),所述指令当由至少一个处理器执行时,使所述至少一个处理器实现按照权利要求18所述的方法。

...

【技术特征摘要】
【国外来华专利技术】

1.一种在执行抓取请求时通过识别适当的参数来优化抓取请求的方法,所述方法包括:

2.按照权利要求1所述的方法,其中所述分类决策是“阻止”响应或“非阻止”响应。

3.按照任一前述权利要求特别是权利要求2所述的方法,其中接收到分类决策的“非阻止”响应的抓取请求参数集合比接收到“阻止”响应的抓取请求参数集合接收更高的分数。

4.按照任一前述权利要求特别是权利要求3所述的方法,其中接收到分类决策的“阻止”响应的抓取请求参数集合比接收到“非阻止”响应的抓取请求参数集合接收更低的分数。

5.按照任一前述权利要求特别是权利要求3所述的方法,其中如果对于后续抓取请求,分类决策接收到“阻止”响应,则利用新的经评分的抓取请求参数集合来重复在执行抓取请求时通过识别适当的参数来优化抓取请求的所述方法。

6.按照任一前述权利要求特别是权利要求5所述的方法,其中对于后续抓取请求重复在执行抓取请求时通过识别适当的参数来优化抓取请求的所述方法,直到分类决策是“非阻止”响应或达到最大尝试阈值为止。

7.按照任一前述权利要求特别是权利要求6所述的方法,其中来自“非阻止”响应的数据用于将来的抓取动作。

8.按照任一前述权利要求特别是权利要求1所述的方法,其中所述抓取请求参数集合的评分受针对抓取请求参数计算的总抓取请求成本的量的影响。

9.按照任一前述权利要求特别是权利要求1所述的方法,其中抓取请求参数的所述部分集合包括单个抓取请求参数或者包括以下任何参数的组合:

10.按照任一前述权利要求特别是权利要求1所述的方法,其中当在不同的参数集合内记录抓取请求参数的新分数时,修改所述机器学习算法。

11.按照任一前述权利要求特别是权利要求1所述的方...

【专利技术属性】
技术研发人员:M·佳莱维克斯E·布尔巴M·布里利亚斯克斯
申请(专利权)人:奥科西拉博斯私人有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1