CN107592930B - 应用的自动爬取 - Google Patents

应用的自动爬取 Download PDF

Info

Publication number
CN107592930B
CN107592930B CN201580078536.8A CN201580078536A CN107592930B CN 107592930 B CN107592930 B CN 107592930B CN 201580078536 A CN201580078536 A CN 201580078536A CN 107592930 B CN107592930 B CN 107592930B
Authority
CN
China
Prior art keywords
web
content
application
web application
applications
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.)
Active
Application number
CN201580078536.8A
Other languages
English (en)
Other versions
CN107592930A (zh
Inventor
德米特里·米哈伊洛维奇·切尔年科夫
伦纳特·卡尔·格兰·科尔莫丁
迈克尔·弗拉基米罗维奇·列乌托夫
阿列克谢·噶纳迪维奇·苏尔科夫
阿曼达·毕晓普
谢尔盖·伊戈列维奇·纳扎罗夫
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN107592930A publication Critical patent/CN107592930A/zh
Application granted granted Critical
Publication of CN107592930B publication Critical patent/CN107592930B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links

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)
  • User Interface Of Digital Computer (AREA)

Abstract

描述了系统和方法,用于:为在线应用商店中的多个web应用生成标准;将标准转换成至少一个规则,至少一个规则基于由在线应用商店定义的预定义类别;获得与多个网站相关联的元数据;使用元数据和至少一个规则确定多个网站中的任何网站是否包括执行与至少一个规则相关联的特征的代码;以及将图标显示为在线应用商店中的可选收录。

Description

应用的自动爬取
技术领域
本主题技术大体上涉及在互联网上自动爬取应用内容,并且具体涉及在数字商品市场中提供应用。
背景技术
内容的数字分发可以包括通过在线连接传送媒体内容。可以使用支持web的计算设备来访问和实施这样的内容。这样的设备包括个人计算机、膝上型计算机、上网本计算机、智能电话和蜂窝电话,以及被配置为提供在线内容的许多其它可能的设备。
发明内容
一个或多个计算机的系统可以被配置为利用安装在系统上在操作中造成系统执行动作的软件、固件、硬件或它们的组合来执行特定的操作或动作。一个或多个计算机程序可以被配置为通过包括指令来执行特定操作或动作,指令在由数据处理装置执行时使装置执行动作。在一些方面,所公开的主题涉及一种计算机实施的方法,用于:为在线应用商店中的多个web应用生成标准;将该标准翻译为至少一个规则,该至少一个规则基于由在线应用商店定义的预定义类别;由计算设备获得与多个网站相关联的元数据;以及使用元数据和至少一个规则来确定多个网站中的任何网站是否包括执行与至少一个规则相关联的特征的代码。该方法还可以包括:响应于确定至少一个网站包括执行与至少一个规则相关联的特征的代码,获得与至少一个网站相关联的内容并生成网站的图标,图标和内容被配置为作为在线应用商店中的可选收录(a selectable listing)放置,并将该图标显示为在线应用商店中的可选收录。该方面的其它实施例包括记录在一个或多个计算机存储设备上的对应的计算机系统、装置和计算机程序,每个计算机系统、装置和计算机程序被配置为执行方法的动作。
实施方式可以包括以下特征中的一个或多个。如上所描述的方法,其中标准包括与web应用使用、web应用安装、Web应用更新查询和 Web应用用户评级相关联的数据。该方法还可以描述将标准翻译成至少一个规则,该至少一个规则包括从标准中提取类别数据,并将类别数据与在线应用商店定义的预定义类别进行比较。该方法还可以包括通过执行web爬取来搜索与托管在网站上的web应用相关联的可执行代码来获得元数据。该方法还可以包括执行web爬取,web爬取被配置为爬取与网站相对应的主机名。该方法还可以包括通过从与多个网站之一相关联的主机接收元数据来获得元数据。该方法还可以包括可选收录,可选收录是可在web浏览器中可执行的应用。该方法还可以包括使用与至少一个网站相关联的标题、摘录、URL、URL的主机名或标签的元数据。该方法还可以包括向与至少一个网站相关联的主机提供被配置为使得主机能够更新收录的信息,以及响应于接收到更新收录的指令,执行指令以及向在线应用商店提供更新的收录。该方法还可以包括周期性地并且在不接收来自用户的请求的情况下:执行web 爬取以检索关于多个网站的附加内容,从附加内容生成更新的收录,以及利用更新的收录替换收录,并在在线应用商店中提供更新的收录。该方法还可以包括使用更新的收录,更新的收录包括至少部分地基于附加内容的修改的功能。该方法还可以包括响应于从主机接收的更新收录的许可来生成更新的收录。该方法还可以包括使用从与web应用使用、web应用安装、Web应用更新查询和Web应用用户评级相关联的数据中选择的至少两个度量。该方法还可以包括响应于确定文档中的一个或多个不是基于用户托管的web应用,丢弃文档中的一个或多个。该方法还可以包括确定与高于阈值的分数相关联的文档中的一个或多个包括重复URL内容,选择与该一个或多个文档相关联的起始页,将起始页中的内容配置和上传到在线应用商店,并丢弃重复URL内容。该方法还可以包括使用类似应用内容,类似应用内容包括提供作为服务公开并从web浏览器访问的功能的一个或多个可执行web应用。该方法还可以包括使用对应于在线应用商店中可用的应用的多个web应用,并且至少两个度量对应于web应用的质量评级。
在一些方面,所公开的主题涉及一种用于检索与多个web应用相关联的数据的方法,并且针对多个web应用中的每一个定义与该数据相对应的至少两个度量;对于多个web应用中的每一个,定义分数,分数至少部分地基于至少两个度量;定义与分数相关联的阈值;并且响应于执行驻留在在线应用商店之外的文档的web爬取,检索包括类似应用内容的文档;根据度量将文档分数与文档中的每一个相关联。该方法还可以包括选择文档的第一部分用于配置和上传到在线应用商店,第一部分与高于阈值的文档分数相关联;并且丢弃文档的第二部分,第二部分与低于阈值的文档分数相关联。该方面的其它实施例包括记录在一个或多个计算机存储设备上的相应的计算机系统、装置和计算机程序,每个计算机系统,装置和计算机程序被配置为执行方法的动作。
在一些方面,所公开的主题涉及一种系统,该系统包括:至少一个处理器;存储器,该存储器存储指令,当由至少一个处理器执行指令时,使得系统执行操作,操作包括:检索与多个web应用相关联的数据,并为多个web应用中的每一个定义与该数据相对应的至少两个度量;为多个web应用中的每一个定义分数,分数至少部分地基于至少两个度量;定义与分数相关联的阈值;以及,响应于对在线应用商店之外的文档执行web爬取,检索包括类似应用内容的文档;根据度量将文档分数与文档中的每个相关联。操作还可以包括选择文档的第一部分用于配置和上传到在线应用商店,第一部分与高于阈值的文档分数相关联;并且丢弃文档的第二部分,第二部分与低于阈值的文档分数相关联。该方面的其它实施例包括记录在一个或多个计算机存储设备上的对应的计算机系统、装置和计算机程序,计算机系统、装置和计算机程序的每个被配置为执行方法的动作。
实施方式可以包括以下特征中的一个或多个。在上述系统中,至少两个度量是从与web应用使用、web应用安装、Web应用更新查询和Web应用用户评级相关联的数据中选择的。操作还可以包括:响应于确定文档中的一个或多个不是基于用户托管的web应用,丢弃文档中的一个或多个。操作还可以包括确定与高于阈值的分数相关联的文档中的一个或多个文档,包括重复URL内容,选择与一个或多个文档相关联的起始页,将起始页中的内容配置和上传到在线应用商店,并丢弃重复URL内容。该系统还可以使用类似应用内容,类似应用内容包括提供作为服务公开并从web浏览器访问的功能的一个或多个可执行web应用。所描述技术的实施方式可以包括计算机可访问介质上的硬件、方法或过程或计算机软件。
在一些方面,所公开的主题涉及计算机。计算机包括输入设备、显示设备、一个或多个处理器和存储器。存储器包括指令,指令包括用于……的代码。
应当理解,从下面的详细描述中,主题技术的其它配置将变得显而易见,其中通过说明的方式示出和描述了本主题技术的各种配置。如将认识到的,本主题技术能够具有其它和不同的配置,并且其若干细节能够在各种其它方面进行修改,而不偏离本主题技术的范围。因此,附图和详细描述在本质上被认为是说明性的而不是限制性的。
附图说明
图1是数字商品市场的用户界面的屏幕截图。
图2是用于在网络上自动爬取内容的系统的示意图。
图3是数字商品市场的开发者区域的用户界面的屏幕截图。
图4示出了市场提供应用内容的示例过程。
图5示出了市场选择应用内容的示例过程。
在各附图中的相同附图标记表示相同的元件。
具体实施例
本公开大体上描述了发现可以打包以在数字商品市场中消费的内容。示例内容可以包括文档、应用(例如“app”或“web app”)、扩展名、主题、可执行文件、音频文件、视频文件、图像、浏览器集成的网站、托管的Web应用、编程代码和/或与任何上述内容有关的元数据。通常,内容可用于为用户提供娱乐、服务、连接和/或生产率访问。可以将这样的内容配置为在数字商品的在线市场中呈现为可选择的数字商品(例如,应用)。
如本文所使用的,打包应用可以指包括下载到用户本地设备以在本地执行的代码集合的应用。如本文所使用的,托管应用可以指托管在服务器上并且为用户远程执行的应用。如本文所使用的,web app或 web应用可以指由浏览器执行并由访问互联网的用户导航的网站。下面描述的系统和方法可以收集与web app或Web应用有关的信息,并在在线市场中提供可选择的应用,其中可选择的应用被配置为起到类似于特定平台的本地应用的作用。
一般来说,市场可以代表用作在线店面的网站或网站集合,用户可以在其中浏览内容/数字商品。店面可以配置为帮助用户查找,购买,配置和安装数字商品和内容,以便在web浏览器中执行。数字商品可以由开发者、公司或市场的其它第三方用户代表的实体拥有。在一些实施方式中,数字商品由市场的开发者而不是第三方实体打包和/或提供。
由于互联网充满了目前尚未在市场上列出的有趣应用,所以提供以自动方式将这样的应用和相关内容集成到市场中的方式将是有利的。因此,本公开中描述的系统和方法可以被配置为在互联网上仔细查看可用的文档库存,以获得可以被配置用于用户消费并被列为市场的一部分的web应用和其它内容。
在非限制性示例中,由在线库存获得的内容可由本文所描述的系统进行审查,以确定内容是否将为市场用户提供有用的访问。例如,系统可以分析与库存中的特定网站相关联的网站流量和用户行为,以便确定网站是否提供类似于市场中列出的其它应用分类的应用。以这种方式,系统可以确定特定网站是否将是市场用户可能感兴趣的资源。
在一些实施方式中,系统可以对在线库存进行审查,以便从互联网策划出特定类型的应用(例如,web应用)用于在市场中列出。例如,本文描述的系统可以检索元数据,元数据包括URL、标题、描述、类别、与网站相关的所有者名称或主机名或者相对应web应用中的内容和或图像内容中的一个或多个。
系统可以使用检索到的元数据或与每个特定web应用相关联的其它检索数据来定义web应用的多个度量。这些度量可用于确定用户与 Web应用的交互,可以提供有关Web应用使用情况、搜索结果交互和 /或点击活动的指示。
在一些实施方式中,本文描述的系统可以执行任务以确保web应用在市场中被适当地选择和列出。一个这样的示例包括校对与web应用相关联的内容并且校正检测到的错误或者与开发者通信以校正检测到的错误。此外,本公开中描述的系统可以确定如何将web应用打包或提供为可以放置在市场中的数字商品。
通常,数字商品可由服务提供商、特定数字内容的开发者或所有者或市场所有者放置(例如手动或自动上传)在市场中。如果服务提供商或开发者拥有并上传数字商品,则所有者和/或服务提供商可以选择修改、删除或以其它方式配置上传的商品。上传的数字商品可以代表将数字商品执行为在web浏览器中运行并作为市场列出应用的应用的内容。数字商品可以与元数据、图像、标题信息或与商品有关的其它描述性内容一起上传。在一些实施方式中,数字商品与元数据、图像、标题信息或与商品有关的其它描述性内容一起打包。每个数字商品可能与图标、网站和/或其它信息相关联,以确保数字商品显示为可以在本地安装的打包应用,以便像在用户本地计算设备的浏览器中的本机应用一样。该图标可以在市场中显示并且用作互联网上的数字商品位置(即所发现的web应用的网站)的指针。
在自动过程上传商品的情况下,市场可以自动发现web应用,访问关于web应用的特定细节,并且配置应用以在市场中生成应用收录。市场可以要求允许在市场上提供这样的内容,并且可以向内容所有者提供一种方式来通过向商品的特定所有者提供通知、网站或其它通信来确保商品更新,准确和正确地列在市场中。以这种方式,所有者可以在市场上监督她的内容,同时允许市场为用户提供访问所有者商品的经销店(outlet)。在一些实施方式中,可以向特定数字商品的所有者/开发者发送电子邮件或其它通信,以提供用于将元数据标记插入到应用代码中的指令,从而允许市场许可上传所有者的商品。
将数字商品自动地包括在市场中的过程可以包括发现、确定和配置商品以供用户消费的多个步骤。该自动过程可由一个或多个服务器执行,该一个或多个服务器被配置为寻找提供类似应用功能或内容的网站。术语“类似应用内容”可以涉及网页或网站,这样的网页或网站包括托管在特定URL上的可执行web应用(例如,“web app”) 并且确定提供可执行的web应用,可执行的web应用可以提供作为可以在web浏览器中访问的服务、游戏或生产力实施开放的功能。
作为自动过程的一部分,下面描述的系统可以访问或利用一个或多个服务器来分析网页集合以在各种网站类型之中搜索类似应用网站。例如,一个或多个服务器可以包括执行网页集合的web爬取的多个搜索服务器。可以将这些搜索服务器配置为从每个被爬取的页面获取数据、元数据、图像数据或其它数据,但可以特别配置为分析是否任何网站提供类似应用的功能。
在一些实施方式中,可以通过从开发者直接接收数据或者替代地通过例如从市场所有者接收网站条目来以手动方式从这样的类似应用网站获得数据。在一些实施方式中,可以使用手动和自动过程的组合来获得类似应用的网站。
在一个示例中,数字商品和相关内容可以从在web爬取中收集的信息获得。例如,可以由以下描述的系统中的一个服务器执行web爬取,以从许多网站收集与数据、元数据、图像数据或其它数据有关的内容。通常,wen爬取可以包括互联网的系统浏览部分以搜索和索引内容。web爬取可以由搜索服务器或其它服务器执行,并且可能与或不与从容纳市场内容的服务器接收到的请求相关。下面描述的系统可以使用爬取的数据来查找市场内容。例如,下面描述的系统可以在爬取数据中搜索以查找与web空间中所提供的Web应用相关联的元数据。Web 爬取中发现的元数据和相关内容可用于打包或以其它方式提供Web应用,以便与市场中的其它应用一起显示在市场中。
“web空间”可以包括提供给网站所有者的互联网的一部分以上传和/或配置容纳web应用的web应用或网页。在一些实施方式中,web 空间可以包括与特定网络托管服务相关联的在线存储空间。在一些实施方式中,web空间可以定义可表示整个互联网或互联网的某个部分的 web爬取空间。一般来说,web搜索引擎可用于筛选web爬取空间中的内容。
在一些实施方式中,下面描述的系统可以通过访问从搜索服务器收集的数据来收集web爬取数据并且重新使用该数据来以生成用于市场的应用。可用于生成应用的示例数据可以包括与Web应用相对应的标题、摘录或丰富摘录相关的数据和元数据。
本公开中描述的系统和方法可以被配置为获得类似应用的web内容,打包或提供内容作为可以在市场中显示的应用。显示的应用可以包括标题、图标、URL或与其所起源的类似应用web内容/web应用相关联的其它内容。在显示的应用中使用的信息可能不是原始Web应用中包括的精确内容。例如,本文描述的系统可以修改市场的内容。修改可以包括但不限于标题更改、应用功能、图标或图形图像更改和/或可访问性更改。
在一些实施方式中,本公开中描述的系统可以由市场人员使用以手动收集并插入或输入容纳Web应用的特定网站。这些手动输入的网站可以由市场系统或人员使用,以使用网站链接上可用的内容来生成在市场中显示的应用。这样的应用可以在市场店面中提供。
参考图1,描绘了数字商品市场的用户界面的屏幕截图100。用户界面100可由可连接到网络(例如互联网)的计算设备执行的浏览器应用显示。浏览器应用可以打开一个或多个标签102,当用户浏览到由向浏览器提供内容的统一资源定位符(URL)104标识的网页时,其中一个标签102可以显示到市场的用户界面,使得浏览器可以在标签中显示到市场的用户界面。
由网页向用户提供的内容可以包括多个图标105A、105B、105C、 105D,106A、106B、106C、106D、106E,108A、108B、108C、108D、 108E,110A、110B、110C,其表示可由用户从网页下载以由用户控制的计算设备执行的数字商品。
在用户界面100内,可以以有组织的方式显示应用,以帮助用户决定哪些应用可能对用户有用或相关。例如,用户界面100可以包括为用户推荐的应用105A、105B、105C和105D的类别111。在本例中,“PicNPlay”应用105A和“Aces Poker Extravaganza”应用105C都以图标周围的爆炸符号显示。爆炸符号可以是用于指示应用(即,105A 和105C)涉及已经由与市场相关联的服务器自动识别,打包和上传到市场的应用内容的一种示例方式。相比之下,不包括爆炸符号的应用可以指示与直接从开发者提供和/或由开发者和市场批准用于显示的应用内容相关的应用(例如,105B和105D)。在某些实施方式中,在开发者倾向于允许对其应用执行持续的自动更新的情况下,爆炸符号可以保留在开发者批准的应用上。
在另一示例中,用户界面100可以包括最近在市场上发布的应用 106A、106B、106C、106D、106E、106F的类别112,并且是市场管理者认为是用户特别值得注意的。通常,用户界面100的新的和值得注意的类别112中示出的应用106A、106B、106C、106D、106E可以是更多数量的应用的子集,这些应用也可能符合是新的和值得注意的,但是没有被选择用于在用户界面100中显示。
在另一示例中,用户界面100可以包括已被选择作为特色显示的应用108A、108B、108C、108D、108E的类别114。被选择在类别114 中作为特色显示的应用108A、108B、108C、108D、108E可以基于市场管理者评估的标准来选择。例如,管理者可以基于管理者对所选择的应用的质量,流行度或效用的意见,从更大的应用集合中选择用于在类别114中显示的应用108A、108B、108C、108D、108E。在另一个实施方式中,管理者可以基于应用开发者的付款来选择应用108A、 108B、108C、108D、108E,作为结果,在用户界面100中突出显示应用。
在另一示例中,用户界面100可以包括应用110A,110B,110C 的类别116,应用110A,110B,110C基于所选择的应用相对于其它应用的流行度排序而被选择在用户界面100的类别116中显示。流行度排序可以基于已经下载和使用应用的用户对应用的评论来确定。例如,市场可能要求用户使用一到五颗星的系统对应用进行定量评级,其中五颗星是最高评级,一颗星是最低评级。如类别116所示,“Pool Games Free”应用110A包括围绕图标的爆炸符号,因此爆炸符号表示应用110A属于自动发现和上传的应用。
市场的用户界面100还可以包括用户界面100的其它子部分中的应用类别,其中较小的图标用于表示在类别112、114、116中使用的应用。例如,类别118可以显示“FavoriteApps from the Web(来自 web的收藏应用)”,这可以是自动爬取,发现和重新打包或上传到市场的应用。这些应用可能表示为市场配置的Web应用,允许用户进入市场,选择并安装应用(例如,在浏览器启动栏中),并且能在配置为运行该应用的浏览器中启动该应用。
在用户界面100内,类别112、114、116和118可以显示被归类为特定类别的应用的子集。由于用户界面内的屏幕空间受到限制,所以仅落入类别范围内的应用的子集可能会显示在用户界面100内。但是,通过选择与该类别相关联的超链接,落在该类别范围内的更多应用可以显示给用户。例如,每个类别112、114、116和118与标记为“全部”的超链接相关联,选择这个超链接可能使落入该类别范围中的更多应用显示。
用户界面100的其它部分也可用于组织市场上可用的数字商品。例如,“apps”部分122可以提供超链接的收录,每个超链接可以被选择为显示属于由超链接标识的类别的应用。例如,选择“Education(教育)”超链接123可以使得表示与教育主题相关的应用的一组图标显示。在另一示例中,“Extensions(扩展)”部分124可以提供超链接的收录,每个超链接可以被选择以显示属于由超链接标识的类别的扩展,其中扩展是扩展浏览器功能的可执行代码。例如,选择“Sports(运动)”超链接125可以使得表示与运动主题相关的扩展的一组图标显示。
除了定位已经显示在用户界面100的类别112、114、116和118 中的数字商品(例如,Web应用和扩展)之外,作为选择相对应的“All”超链接的结果,可以显示与该类别相关的附加内容。另外,由于查询用户可能感兴趣的商品,因此可以定位数字商品。例如,用户可以将查询词输入到查询框126中,该查询框126可以接收查询词,并将该查询词传递到搜索引擎上,该搜索引擎然后定位匹配查询词并且在市场中可用的数字商品。例如,诸如web应用的数字商品可以具有与它们相关联的各种元数据,这些元数据用于对数字商品进行索引,并且查询词可以与数字商品相关联的元数据进行比较。基于该比较,可以从市场上可用的数字商品中选择与查询词最匹配的应用,并且可以在用户界面100中向用户呈现所选择的商品。
用户界面100还包括超链接127,可选择超链接127以使得用户能够登录到市场。例如,超链接127的选择可以触发向用户显示输入用户名和密码的提示,并且成功输入用户名和密码可以允许用户登录到与市场相关联的个人帐户。一旦用户登录到市场,数字商品就可以被选择并在用户界面100内呈现给用户,其中可以基于与用户帐户相关联的数据将商品的选择针对用户个性化。
用户界面100还包括开发者区超链接140,用户可以在其中输入以访问、修改、维护或上传市场中的数字商品/内容。例如,用户可以选择开发者区超链接140来手动上传自己的web应用,并且市场可以使用与用户web应用相关联的上传内容(例如,元数据、URL、图像、标题、描述、应用特征等)生成与应用相关联的图标。
在一些实施方式中,内容所有者或应用开发者可以包括可使与市场相关联的web爬取引擎识别应用内容的信息。例如,开发者可以使用结构化数据标记来注释其Web应用。结构化数据标记可以包括与应用相对应的代表特定权限的代码、丰富摘录、路径(breadcrumbs)和/ 或特定搜索框。诸如爬取引擎264的web爬取引擎可以通过使用结构化数据标记来推断关于底层应用的信息。在一个示例中,当开发者在她的网站上提供她的web应用并且包括这个结构化数据标记时,搜索引擎可以使用结构化数据标记来索引应用中的内容。应用可以由这样的搜索引擎索引,以便以自动方式使应用和任何相应的内容可由计算设备识别。索引的内容可以被爬取引擎264使用,例如,对可考虑用于市场的应用内容进行搜索和分类。
图2是用于在网络上自动爬取内容并配置内容的部分用于在线市场中上传的系统200的示意图。简而言之,系统200可以在在线市场中为多个web应用生成标准,将标准翻译成可用于与在线市场定义的预定义类别进行比较的规则。系统200可以通过爬取网站另外获得与多个网站相关联的元数据,并且可以使用元数据和至少一个规则确定网站中的任何一个是否包括执行与至少一个规则相关联的特征的代码。此外,系统200可以确定至少一个网站包括执行与至少一个规则相关联的特征的代码并获得与网站相关联的内容。在获得内容时,系统200可以生成网站的图标。图标和内容可以被配置为在在线市场中作为可选收录放置,并且可以这样显示。
在一些实施方式中,系统200可以通过检测与特征相关联的可执行代码中的权限序列来确定特定网站是否包括特定特征。例如,系统 200可以检测与特定特征相关联的可执行代码中的权限声明、语法、密钥短语或代码序列,以便确定可执行代码是否表示可以在在线市场中显示的内容/web应用内容。在系统200检测到这样的特征的情况下,系统200可以将包含这种特征的内容/web应用与在线市场相关联的预定义的类别信息进行比较。该比较可用于确定内容/web应用是否将成为在线市场的有利补充。该比较还可用于确定内容/web应用是否表示市场中的重复内容。
以这种方式,系统200可以爬取、分析和比较以试图施加一系列过滤,以便确定特定内容/web应用是否适合于市场。在一个非限制性示例中,系统200可以首先搜索提及已知浏览器权限序列的可执行代码中的词语,并且因此可以推断出这样的代码将提示该内容属于web 应用。接下来,系统200可以搜索文件中的可执行代码段,并且如果检测到,则可以将这些段与市场中的现有Web应用和/或与市场中的应用相关联的类别信息进行比较。
参考图2,系统200可以包括客户端计算设备(例如,台式计算机、笔记本计算机、上网本计算机、平板计算机、智能电话等)202A、202B、 202C。客户端计算设备202A可以包括一个或多个处理器204和一个或多个存储器206。客户端计算设备202A可以执行操作系统208和可能显示用户界面窗口212的一个或多个应用,诸如应用210。
在一个实施例中,客户端计算设备202A可以正在运行或正在使操作系统208执行应用210或窗口212。为了说明的目的,窗口212被称为web浏览器。然而,应当理解,上述仅是所公开的主题不受限制的一个说明性示例。在各种实施例中,该窗口212可以包括多个窗格或标签214A、214B、214C。窗口212可以是包含某种用户界面的视觉区域。在客户端设备202A中使用的图形用户界面(GUI)中,窗口212 可以是布置在称为桌面的GUI的平面上的二维对象。窗口212可以包括其它图形对象,例如菜单栏、工具栏、控件、图标,和通常可以在其中显示文档、图像、文件夹内容或其它主要对象的工作区域。工作区域能够只保持多个文档界面中的一个主要对象(即,单个文档界面) 或多于一个主要对象。在一些应用中,特别是web浏览器,可以在单个标签214A、214B、214C中显示多个文档。这些标签214A、214B、 214C通常一次一个地显示,并且可以经由通常驻留在个别窗口的内容上的标签栏来选择。也就是说,一个选择的标签214A是“朝向前 (forward-facing)”,并且在窗口212中向用户显示信息或内容,而其它标签214B、214C的内容是“隐藏的”。
客户端计算设备202A、202B、202C可以从可通过网络290连接到客户端设备202A-C的一个或多个服务器计算设备230、250、270接收数字商品/在线内容。客户端计算设备202A、202B、202C中每一个可以通过本地互联网服务提供商292连接到网络290。接收到的在线内容可以被处理并显示在窗口212中(例如,在窗口212的标签214上)。例如,窗口212可以向用户显示类似于本文描述的市场的用户界面的用于数字商品的市场的用户界面。用户可以与所显示的内容进行交互,并且活动元数据生成器218可以监视用户与内容的交互和应用210的性能,并且可以基于用户与内容的交互并且基于应用210的性能来生成活动元数据。
在一些实施方式中,数字商品可以包括可以从市场下载到客户端计算设备202A的应用,其中它们可以被提供用于由在计算设备上运行的浏览器执行。这样的应用可以被称为“可安装的web应用”,因为它们的代码可以从互联网(即,万维网)下载,并存储在本地存储器 206中,可以从本地存储器206中获取它们以便由本地执行的浏览器执行。
在一些实施方式中,客户端计算设备202A可以包括位置检测器218,位置检测器218可以例如基于全球定位系统(GPS)信号或者通过来自已知位置的发射器的信号的三角测量或通过使用其它硬件和/或技术来自动检测计算设备的位置。在一些实施方式中,可以基于与ISP 292相关联的位置来确定客户端计算设备202A的位置。例如,ISP的已知位置可以用作近似值或用作客户端计算设备202A的位置的代理。
客户端计算设备202A可以与服务器250进行通信,服务器250 可以表示数字商品市场服务器250,其向客户端计算设备202A、202B、 202C提供数字商品的市场。市场服务器250可以包括一个或多个处理器252和一个或多个存储器254。市场服务器250可以执行操作系统和各种应用和服务以向客户端计算设备提供功能。例如,在一个实施方式中,市场服务器250可以包括用于数字商品258的数据库的存储库,并且数字商品可以从存储库服务或者从存储库下载到客户端计算设备。
在另一实施方式中,数字商品可以存储在远离市场服务器250的存储库中并且从该存储库服务客户端计算设备。例如,可以将数字商品存储在由数字商品的开发者操作和控制的个别存储库中并从该个别存储库服务客户端计算设备,并且市场服务器250的数字商品存储库 258可以仅提供对由开发者操作的个别存储库的引用。
在一些实施方式中,市场服务器250(或另一个服务器)可以检索 web应用和网站内容以存储在数字商品存储库258中。可以使用许多算法来确定要检索哪些web应用。下面详细描述示例算法。
市场服务器250可以包括元数据存储库260,元数据存储库260 存储与可从数字商品存储库258获得或引用的数字商品相关联的元数据。与数字商品相关联的元数据可以包括关于数字商品的多种信息。这样的信息可以包括例如与数字商品相关联的代表性关键字,与数字商品相关联的价格,在可能已经获得数字商品的原始版本的情况下与内容和/或位置相关联的标题、名称、或摘录。例如,如果系统200爬取提供特定数字商品的网站,则与该商品一起收集并存储的元数据可能与上传商品的主机名和URL相关。
在一些实施方式中,元数据还可以包括关于数字商品的目标用户的人口统计数据、用户对数字商品最感兴趣期间的年月或日的时间等。例如,与冲浪视频游戏相关联的元数据可能指示,该商品旨在供住在加利福尼亚州或夏威夷沿海的15岁至34岁的男性用户使用,游戏在夏季月份比冬季月份更受欢迎。
市场服务器250可以包括查询处理程序262,查询处理程序262 可被配置为接收和处理在市场上可用的数字商品的查询。例如,查询处理器可以接收输入到图1所示的用户界面100的查询框127中的数字商品的查询。然后可以将查询的词语或短语与用于索引市场上可用的数字商品的词语和短语(例如,存储在元数据存储库260中的词语和短语)进行比较。基于该比较,可以从数据库258中选择数字商品的子集,以响应该查询。
市场服务器250可以包括爬取引擎264,爬取引擎264被配置为基于例如来自市场服务器250的自动请求来爬取web寻找数字商品。在一些实施方式中,市场服务器250可以周期性地且在不接收来自用户的请求的情况下执行web爬取以检索与特定web应用有关的附加内容。例如,市场可以执行web爬取,目的是查找其应用的最新内容。如果发现附加内容,则市场服务器250可以从附加内容和当前列出的应用生成更新的应用收录,其可以用于替换在市场中列出的应用的旧版本。
爬取引擎264可以被配置为爬取万维网的全部或一部分。例如,爬取引擎264可以执行web爬取以从多个网站收集与数据、元数据、图像数据或其它数据有关的内容。一般来说,web爬取可以系统地浏览互联网的部分,以搜索和索引这些内容。web爬取可以由搜索服务器或其它服务器执行,并且可以与或可以不与从托管市场的服务器接收的请求相关。爬取引擎264可以将爬取的数据提供给服务器230、250或 270中的一个或多个,以便允许服务器之一检测适合于包含在市场中的内容。例如,下面描述的系统可以在爬取数据中搜索以查找与web空间中提供的Web应用相关联的元数据。Web爬取中发现的任何元数据或相关内容都可用于打包Web应用,并与市场上的其它app或应用一起在市场中显示打包的Web应用。
市场250可以包括呈现引擎266,呈现引擎266准备用于传送到客户端计算设备202A、202B、202C的信息,其中客户端计算设备使用该信息来显示用户界面100,用户界面100呈现在市场上可用的所选择的数字商品。例如,基于爬取引擎264的输出,呈现引擎266可以准备HTML代码,XML代码等,确定在用户界面100中向用户显示的信息,并且其中代码确定哪些数字商品将在用户界面100中向用户显示。
由在客户端设备上运行的应用210提供给市场服务器250的信息 (例如,关于Web应用如何启动,用户与Web应用交互的频率,Web 应用崩溃的频率,等等)可以在选择性加入的基础上提供。换句话说,只有客户端设备的用户专门授权从客户端向服务器发送这种信息时,这种信息才能从客户端计算设备202A提供给服务器250。
如图2所示,系统200可以包括搜索引擎服务器230,搜索引擎服务器230包括一个或多个处理器232、一个或多个存储器234、操作系统236、查询处理程序238和结果服务器240。查询处理程序238可以接收包括来自客户端计算设备202A、202B、202C的一个或多个查询词或查询短语,并且结果服务器240可以响应于查询来提供搜索结果。搜索引擎服务器230可以监视从客户端设备接收到的查询词和短语,并且基于查询词流量,搜索引擎服务器230可以生成关于用户兴趣的趋势的统计信息。例如,当以前不知名的歌手成为明星艺人时,查询词流量的趋势可能会显示用户对发现关于该歌手的信息越来越感兴趣。类似地,当电影或游戏变得流行时,接收到搜索引擎服务器230 的搜索引擎流量的趋势可以自动地显示流行度的增加。
如图2所示,系统200包括web应用服务器270,web应用服务器270可以从例如由服务器250执行的爬取中收集的内容识别多个web 应用271。在一些实施方式中,web应用服务器270可以执行附加的 web爬取以获得附加数据(类似于在上文中关于市场服务器250讨论的 web爬取)。在一些实施方式中,web应用服务器270可以重用以前爬取的数据,诸如由搜索引擎或爬取引擎(例如,搜索引擎服务器230 或爬取引擎264)获得的元数据。
如图所示,web应用服务器270包括一个或多个处理器272、一个或多个存储器274、操作系统276、元数据(“MD”)数据库278和主机接口280。web应用服务器270可以配置为分析收集的Web应用数据,以便将此类数据配置到单个Web应用内以在市场中呈现。
元数据存储库278可以存储与收集的web应用数据相关联的元数据。收集的web应用数据可以由市场服务器250获得,市场服务器250 可以将收集的元数据的副本或一部分存储在其自己的元数据存储库 260中。存储在存储库278中的元数据可以用于比较任何后续的web 爬取数据与特定网站收集的原始web爬取数据。通常,存储库278可以被配置为存储被认为包括市场上可销售的应用或市场中可销售的类似应用内容的网站的元数据。
主机接口280可以与图1在140和图3在300所示的开发者区同义。此接口可以由开发者或内容主机使用,以便更新、修改和配置他们拥有并希望在市场中显示的内容。
在各种实施例中,应用210可以是被配置为从物理上远程服务器或web服务器(例如,服务器230、250或270等)访问网站或网页、脚本等集合的web浏览器。在一些实施例中,web浏览器可以被包括作为本地应用210之一、作为操作系统208的一部分,或者作为web 应用271从服务器270访问。
在各种实施例中,应用210可以包括或被配置为与一个或多个浏览器扩展(未示出)进行交互。在这个场境中,“浏览器扩展可以包括一个或多个网页,这一个或多个网页被打包或组合在一起作为可定义整体,并且被配置为向应用210添加功能。在一个实施例中,浏览器扩展可以通过更改web页或网站由应用210显示或呈现的方式(例如,通过阻止广告,添加超链接等)来添加功能。在另一个实施例中,浏览器扩展可以通过与服务器(例如,服务器250)通信和更新或更改应用210的用户界面(UI)(例如,在应用210工具栏等中放置或更改图标)来添加功能。应当理解,上述仅是几个说明性示例,所公开的主题不限于此。
在这个场境中,应用210可以是网页,其中“网页”可以包括作为网站的一部分的文件或文档。在各种实施例中,这样的网页可以包括格式化为超文本标记语言(HTML),级联样式表(CSS),JavaScript,可扩展标记语言(XML),诸如XHTML(可扩展超文本标记语言)文件,Adobe Flash文件,图像,视频等的文件。在各种实施例中,应用 210可以处理一个或多个网页以便呈现一个网页。例如,HTML网页可以被修改或包括其它网页,例如JavaScript,CSS文件,各种图像等。应当理解,上述仅是一个说明性示例,所公开的主题不受其限制。
在这个场境中,“网站”可以包括用户通常可见或可理解的(一旦由应用210呈现)相关网页的集合或分组。在各种实施例中,当通过通信网络访问网站时,可以经由超文本传输协议(HTTP)或超文本传输协议安全(HTTPS)来访问网站。应当理解,上述仅是一个说明性示例,所公开的主题不限于此。
在各种实施例中,web浏览器可以包括或者与一个或多个web应用相关联。在这个场境中,“web应用”可以包括本身含网页的网站的至少一部分。在这个场境中,可以将“web应用”配置为帮助用户通过 web应用210的网站来例如完成单个任务或多个任务。在这样的实施例中,web应用210可以被配置为由web浏览器执行或解释。这与包括机器可执行代码的本地应用进行比较,并且被配置为由处理器或经由操作系统直接执行,然而,没有web浏览器的帮助,web应用210可能无法执行或显示。
在所示实施例中,web浏览器扩展可以被打包为可安装的实体。在这个场境中,“安装”包括半永久地或基本上永久地将一个或多个文件(例如,清单,网页等)放置在计算设备202A上以用于稍后的执行或处理的行为。
在这样的实施例中,用户经由应用/web浏览器210可以联系市场服务器250,例如,市场服务器250包括或提供托管数字商品仓库258 的web商店/在线市场。在各种实施例中,在线市场可以包括用于下载和安装的一个或多个浏览器扩展。这些浏览器扩展中的每一个可以以预定格式(例如,Chrome扩展格式(CRX),ZIP格式等))打包成可安装的实体。
可以在选择性加入的基础上提供由在客户端设备上运行的应用 210向市场服务器250提供的信息(例如,关于用户的浏览历史,点击行为等)。换句话说,只有客户端设备的用户专门授权从客户端向服务器发送这种信息时,这种信息才能从客户端计算设备202A提供给服务器250。
图3是数字商品市场的开发者区域的用户界面300的屏幕截图。这里,用户可以选择开发者区超链接140(图1)来进入用于上传或修改由用户发起的商品和相关内容的区域。在某些实施方式中,开发者区被配置为用于开发者将新内容上传到市场。在其它实施方式中,开发者区是在例如系统200通知开发者他的应用之一已经被自动选择上传到市场的情况下开发者就可以被引导到的区域。在一些实施方式中,开发者区300表示上传新内容的区域和用于验证或提供对上传自动检测/爬取的内容的许可的区域。
在一些实施方式中,开发者区300可以由开发者使用以访问关于其上传的内容的设置。例如,开发者可能希望更改或更新其应用的名称、图像或功能,并可以通过手动上传更改的内容、元数据等,并请求市场使用上传的更改重新打包应用来实现。在另一个示例中,开发者区300可以提供自动选项,其中开发者可以检查多个选项以使得市场服务器在时间递增基础上评估在开发者的托管网站是否有新的或修改的内容可用。然后,市场服务器可以根据用户输入的维护计划,执行附加的Web爬取回到开发者的站点。如果爬取确定在开发者的站点与市场中的打包应用之间进行了更改,则本公开中描述的系统可以随着更改自动更新市场应用,或者替代地可以设置为通知开发者请求许可,通知开发者将在特定日期进行的更改,或者关于已向应用实施更改的更改后通知。这些项目可以由开发者在开发者区300中配置。
如图3所示,用户已经进入开发者区300,开发者区300已经打开开发者区标签302。可能的是,用户被呈现登录页面(未示出)以进入开发者区域300。在该示例中,向用户呈现由系统200分配给她的用户号码304。用户号码仅是与开发者相关联的帐户的指示符,因此可以替代地是用户名、电子邮件或其它所选或分配的用户标识符。
在该示例中,向开发者(即,用户7902)示出应用区域306,“favorite apps fromthe web”区域308以及类似于图1中所描述的附加可选链接(在折叠模式下显示)。应用区域306包括“PicNPlay”app 310。 app 310可以是用户/开发者开发并上传到市场的照片app。app 310可以与许多链接相关联,以允许用户配置app 310或与app 310相关的关联服务。例如,包括修改链接312,使得可以为用户提供修改图像、内容、功能或与app 310相关的其它信息的途径。此外,包括权限链接314,使得用户可以将app 310设置和/或关联特定的权限。例如,用户可以对app 310启用或禁用系统生成的修改。在另一示例中,用户可以使用权限链接314来确定哪些类型的用户可以访问app 314,或允许完全公开查看和使用app 314。
如图3所示,用户7902被呈现为名为“Aces Poker Extravaganza” 316的附加应用。App 316包括爆炸符号,并且如上文所描述,爆炸符号可以指示该应用可能在市场/店面中源自于自动web爬取,自动web 爬取发现app 316并将它打包用于市场。尽管app 310可能已经被用户上传,但app 316被标记为爆炸,以指示它最初未被用户上传到市场,而是被系统自动发现和上传。为了公开地显示这样的自动发现的app,可能发生附加步骤,诸如请求用户许可等。这里,与自动发现的app 316 相关联的链接包括修改链接318和设置权限链接320(类似于app 310 的链接)。然而,自动发现的app 316包括配置更新链接322,配置更新链接322可以用于启用或禁用自动爬取的更新应用于app 316。在一些实施方式中,配置更新链接322可以包括用于配置进度的设置以自动保持在app 316中的信息。开发者区300中显示的apps的其它链接和配置是可能的。
如图3所示,向用户7902呈现附加应用的部分,其中开发者可以是作者,但可能没有被提供在市场中显示这个内容的权限。这里,附加的应用是用于生成婴儿床表单的“CribSheet GenX”app 324。由于 app 324包括爆炸符号,所以系统200可能已经自动发现该应用,并且可能已经将用户标识为市场apps的已知开发者。在这里,开发者区300 显示文本表明“We found additional applications that list you as a developer:Would youlike to verify the application content?(我们发现附加应用将您列为开发者:您想要验证应用内容吗?)”这可能触发用户选择app 324并提供附加的详细信息和/或权限。
发现app 324属于允许系统200从开发者的主站点上传应用内容的已知的系统用户,配置app 324的应用,并在开发者区300中显示已配置应用,以在市场向公众提供它之前允许开发者批准、拒绝、修改或以其它方式修改应用。虽然app 324显示在与市场相关联的图形用户界面中,但是可能发生了关于请求开发者允许上传或配置app 324的其它通信。
在系统200的操作中,app 324可能是具有无人认领的所有权的新生成的应用。系统200已经确定关于所有者的知识。例如,这里,系统200确定用户7902与app 324相关联,并且作为响应,系统200将应用配置为在下一次用户7902登录或访问市场时在区300中显示。
在用户登录市场并访问开发者区300的情况下,可以向用户呈现用于验证任何未完成的应用的选项。例如,在这里,用户可以被呈现 app 324,并且可以选择认领app 324。认领app 324可以触发系统200 将应用转换成市场应用,并且app 324从该点起就像在市场上任何其它应用一样。在一些实施方式中,当开发者认领应用时,那么系统200 可将应用转换为标准市场应用(即,无爆炸符号),并且应用可能被配置放弃在未来用新信息、屏幕快照等进行自动更新等等。在某些实施方式中,所有者可以认领该app并继续允许自动更新发生。
在一些实施方式中,所有者可能希望将app从系统中移除。因此,系统200可以从开发者区移除app,并用利用在自动发现任务中从不显示该应用的指示来标记该数据。也就是说,由于网站所有者不满足于在市场上使用他们的app,系统200可以确保被移除的应用并不再次呈现为通过自动爬取或其它自动化手段创建新app的候选。
例如,“favorite apps from the web”区域308表示已由系统200 自动上传到市场的应用。类似于图1中的相同部分,区域308中的应用可以包括已被自动爬取、发现、重新打包并上传到市场的应用。在一些实施方式中,区域308中的apps可能涉及其中所有者已经确定继续允许自动发现对其内容的任何改变的应用。这对于希望在市场上有最新和最好的版本但是不希望花时间上传新内容并在多个商店界面中组织或配置应用内容的所有者/开发者来说可能是方便的。
开发者区域300包括链接326,使得用户可以以指导和手动的方式上传附加应用。一般来说,开发者可以从市场内的许多地方访问此链接。
图4示出了市场提供应用内容的示例过程。在各种实施例中,过程400可以由系统诸如图1和图2的系统使用或产生。此外,过程400 的部分可以用于产生如图1和图3所示的结果。
在一个实施例中示出了框402,系统200可以在在线应用商店/在线市场中为多个web应用产生标准。例如,系统200可以使用来自在线市场中可用的一个或多个应用的基于用户的访问和使用的信息。该信息可用于生成描述和定义每个应用的有利和/或不利特征的特定标准。在一些实施方式中,特定标准可以包括与web应用使用相关联的数据。例如,Web应用使用数据可以包括关于用户访问和与Web应用交互的频率的信息。在一些实施方式中,特定标准可以包括关于web 应用安装,或者例如在浏览器启动栏中安装web应用的次数的数据。在一些实施方式中,特定标准可以包括关于web应用更新查询的数据。例如,标准可以包括关于搜索应用中的内容的查询的频率,或者替代地,搜索应用的标题的频率的数据。在一些实施方式中,标准可以包括关于web应用用户评级的数据。例如,用户评级可以用于产生特定的有利或不利的百分比评级。
在框404,可以使用标准的任何组合,以便将标准翻译成任何数量的规则。将标准翻译成规则可以包括从标准中提取类别数据,并将提取的类别数据与由在线市场定义的预定义类别进行比较。通常,规则可以用作确定Web应用是否满足市场的特定标准的机制。在一些实施方式中,规则基于由在线市场定义的类别。例如,在线市场可以基于应用中的内容、应用类型,与应用关联的标准或描述应用的其它数据来定义应用的类别。示例类别可以包括但不限于服务、生产力、数学、游戏、社交网络、基于导航/位置、电子商务、基于健康的高评级、评级不佳、用户推荐、市场推荐、高度搜索、高度下载、搜索不佳、从未下载、成本、更新状态和可用性、应用年龄、点击计数、开发者上传、系统上传,手动选择,自动选择等。
在框406,系统200可以获得与多个网站相关联的元数据。获取元数据可以包括执行web爬取以搜索与网站上托管的web应用相关联的可执行代码的系统200。在一个示例中,web爬取可以配置为爬取与任意数量的网站相对应的主机名。也就是说,web爬取可能被特别配置为爬取主机名,以便查找由特定主机名创作的类似应用内容,并且如果内容是由与主机名相关联的相同用户生成,则避免尝试从相同的重复内容分析应用。
网站可以涉及web空间、互联网的一部分、整个互联网等。例如,市场服务器250可以通过执行web爬取来自动获取元数据和其它相关内容,以搜索与在web空间中提供的Web应用相关联的数据。在一些实施方式中,可以通过从与网站相关联的用户/开发者接收元数据来获得元数据。例如,市场的用户可以上传他们自己的内容和与其特定web 应用相关的相应元数据。元数据可以包括但不限于标题、摘录、URL、 URL的主机名或标签,其中的一些或全部可以与上述任何一个网站相关联。
在框408,系统200可以使用元数据和至少一个规则来确定多个网站中的任何网站是否包括执行与至少一个规则相关联的特征的代码。例如,服务器250可以分析元数据以确定与元数据相关的网站是否包括类似应用的可执行内容,类似应用可执行内容执行与基于规则(诸如决定应用类型的规则)相关联的特征。应用类型可能关于市场定义的类别。服务器250可以分析元数据以确定应用类别信息,并且可以将确定的类别与市场的预定义类别进行比较。如果发现匹配,则服务器250可以使用分数、算法或其它度量来确定网站包含在市场中作为应用显示的可销售候选的web应用的可能性,如在下文中参考到图5 所描述的。
响应于确定多个网站中的至少一个网站包括执行与至少一个规则相关联的特征的代码,在框410处,系统200可以获得与网站相关联的内容并为该网站生成图标和/或打包。在框412,可以将图标,包和内容配置为放置并显示为在线市场中的可选收录。在一些实施方式中,该图标可用于表示从在线市场中的可选收录访问web应用的显示。可选收录可以涉及用户可以访问,在浏览器中查看或以其它方式在市场中交互的web应用。通常,可选收录可以表示在web浏览器中可执行的应用。
在一些实施方式中,过程400还可以包括周期性地且在不接收来自用户的请求的情况下进行的步骤,(1)执行web爬取以检索与多个网站有关的附加内容,(2)从附加内容生成更新的收录,以及(3) 用更新的收录替换收录,并在在线应用商店中提供更新的收录。可以响应于来从主机接收更新收录的许可而生成更新的收录。在一些示例中,可以基于检测用于应用的新可用内容来自动生成更新的收录。在一些实施方式中,更新的收录包括至少部分地基于新可用内容的修改的功能。在一些实施方式中,更新的收录包括新的图标或标题。在一些实施方式中,更新的收录包括与收录中的应用的使用相关的附加内容。步骤(1)-(3)可以由系统200预先请求,或在一些示例中由开发者预先定义,以在接收到触发事件时执行。示例触发事件可以包括:检测新版本元数据,检测预定义的已经经过的时间量,检测到应用不起作用,接收用户对应用损坏功能或新请求功能的反馈,和/或接收不良反馈等等。
在一些实施方式中,过程400可以包括向与至少一个网站相关联的用户/开发者提供被配置为使得主机能够修改与该网站相关联的市场中的应用的信息的步骤。响应于接收到修改应用的指令,系统200可以执行修改应用的指令。例如,系统200可以向开发者提供接口或其它工具,开发者可以在其中提供更新或修改其所拥有的内容的指令。在一些实施方式中,开发者可以使用例如图3所描述的界面来更新自己的内容。
在一些实施方式中,本公开中描述的系统可以自动从属于开发者的网站获取应用内容。然后,该系统可以将来自网站的应用内容放置在市场中。在此示例中,应用内容可能不会公开发布,而是可以分类为不列出。这可以通过直接链接提供对应用内容的可见性,并且可以不被搜索或以其它方式列出给公众。系统可以通知开发者上传的应用内容。例如,系统200可以向开发者发送电子邮件,文本,呼叫等,以请求有关自动检索和上传开发者的应用内容的反馈、许可或其它请求。在一些实施方式中,该系统可以等待预定义的时间量,然后公开发布特定开发者未认领的特定应用。在某些实施方式中,系统不会在市场上公开发布应用中的任一个或应用内容,除非或者直到开发者提供这样做的许可。
图5示出了市场选择用于市场消费的应用内容的示例过程500。特别地,过程500可以包括用于为市场选择在线应用内容的算法。在此示例中,该算法可以涉及分析点击数据。例如,过程500可以包括对与特定web应用相关的特定搜索查询的点击次数的分析,以确定特定 web应用或网站是否属于市场。在各种实施例中,过程500可以由系统诸如图1和图2的系统使用或生产。此外,过程500的部分可以用于产生如图1和图3所示的结果。
框502示出了在一个实施例中,系统200检索与多个web应用相关联的数据。例如,服务器250可以检索元数据,元数据包括URL、标题、描述、类别、与相关网站相关的所有者名称或主机名或每个对应的web应用中的内容以及/或图像内容中的一个或多个。在一些实施方式中,例如,系统200可附加地检索与特定搜索查询相关联的任何点击/印象数据,特定搜索查询与web应用或与托管web应用的站点相关联。系统250可以使用与每个对应的web应用相关联的元数据或其它检索的数据来为每个应用定义对应于数据/元数据的至少两个度量。例如,服务器250可以分析与每个web应用相关联的数据或元数据(例如,使用预先爬取的web数据确定点击数据),并且确定诸如当用户点击搜索结果中的链接时的度量。服务器250还可以分析后续行为,其指示何时用户不再返回特定查询的搜索结果。类似地,系统200可以分析在长时间跨度(例如,数周,数月等)之后用户是否返回到这样的搜索结果。此外,服务器250可以确定普通用户在点击页面之后停留在特定网页上的时间。系统200可以取得这个数据并且将其定义为与每个web应用相关联的特定文档-查询对的“长点击数”(LCC)数据。
在一些实施方式中,从与web应用使用、web应用安装、Web应用更新查询和Web应用用户评级相关联的数据中选择至少两个度量。例如,系统200可以跟踪与诸如点击数据之类的web应用查询相关的两个度量。在一个示例中,第一度量可能涉及在线长点击计数(online_LCC),并且第二度量可能涉及下载长点击计数 (download_LCC)。一旦定义了这两个度量,系统200可以分析每个特定web应用的所有流行搜索查询,并且在框504,系统200可以为多个 web应用中的每一个定义分数。该分数可以至少部分地基于online_LCC 和download_LCC度量。例如,对于包含“在线”子串的每个查询,系统200可以将其相对应的长点击数添加到online_LCC分数。类似地,如果查询包含“下载”子串,那么系统200可以将相应的长点击数添加到其download_LCC分数。
在框506,系统200可以确定和定义与分数相关联的阈值。该阈值可以与online_LCC分数和download_LCC分数的特定级别相关。在一些实施方式中,阈值对应于特定web应用online_LCC分数和其相对应的download_LCC分数之间的比较。例如,系统200可以确定web应用的download_LCC分数不能大于其online_LCC分数的设定阈值。这是因为如果download_LCC分数较大,那么系统200可以认为该文档是下载市场中没有用的内容的促销页面(例如,本机应用),因为它不能被正确地提供为这个商店中的可用内容。
在框508处,响应于执行驻留在在线应用商店之外的文档的web 爬取,系统200可以检索包括类似应用内容的文档。在一些实施方式中,类似应用的内容包括一个或多个可执行的web应用,其提供作为服务公开并从web浏览器访问的功能。例如,系统200可以检索看起来提供符合特定市场/商店标准的可执行内容的网站。然后,系统200 可以根据预定义的度量(例如,上述的online_LCC和download_LCC 分数或另一组度量)将文档分数与每个文档相关联。
在框510处,系统200可以选择与高于预定义阈值的文档分数相关联的文档的一部分。系统200可以选择文档并配置应用,应用被配置为上传到在线应用商店以供用户消费。在一些实施方式中,例如,并非打包和上传文档/应用,可以根据其各自的online_LCC分数进行排序。
在特定文档分数低于预定义阈值的情况下,系统200可以在框512 丢弃对应的文档,并得出结论,丢弃的文档不是基于市场中可销售或起作用的用户托管的web应用。在一些实施方式中,丢弃文档可以包括例如确定文档/应用没有上传到市场的资格。
在一些实施方式中,方法500可以检测重复内容并执行任务以移除重复的内容。例如,系统200可以包括确定与高于阈值的分数相关联的文档中的一个或多个文档包括重复URL内容的步骤。该系统可以确定并选择与该一个或多个文档相关联的起始页,并将起始页中的内容配置并上传到在线应用商店,同时丢弃任何重复URL内容。在一些实施方式中,系统200被配置为仅爬取主机名以避免收集重复的信息。应当理解,上述仅是几个说明性示例,所公开的主题不限于此。
在一些实施方式中,系统200可以确定特定应用是否为在市场中已经存在的应用的重复。在这个示例中,系统200可以通过比较与市场应用相关联的URL(例如,市场app的官方网站、市场app的开发者网站或与市场应用相关联的任何支持URL)与系统检测到并正在考虑添加到市场的网站URL来检测重复URL。如果系统200确定特定域匹配,则系统假定所考虑的应用已经在市场中呈现,并且因此不考虑将其包括在市场中。
在另一示例中,系统200可以执行其它算法来检测互联网上的适当的web应用。在一些实施方式中,系统200可以执行一种算法而不执行另一种算法,或者可以组合来自任何数量算法的算法输出以获得用于市场的一组应用。
例如,在市场中,数千的托管应用是可用的,并且这些应用中的许多应用伴随着提供关于其自身质量信息的度量。例如,该信息可以包括主动使用数据,安装数据和特定用户评级。在一些实施方式中,度量包括数天的数据到几个月或几年的数据(例如,7天、10天、自成立之日起等)。系统200可以使用该数据为特定应用或相关网站生成分数。这样的数据可以用作训练数据,并且训练数据可用于训练二进制分类器,二进制分类器可以预测(即,提供置信度值)特定应用或网站是否将在市场中成功。因此,系统200可以使用多个分类器来检测web应用。这种方案通常可以包括构建可以从互联网检测和选择特定应用的二进制分类器。另外,使用二进制分类器,系统200可以尝试爬取所有可用的网站并计算值,以排序和选择最高百分比的应用 (托管在网站上),以便在数字商品的在线市场中重新打包。
在一些实施方式中,未使用数据可以对置信度值产生影响。例如,如果一组Web应用一段时间没有使用(或者曾被多于一个或两个的用户使用),则系统200可以将该数据用作度量,以将低成功分数分配给这样的应用。这个数据可以与特定应用可用的时间量进行平衡,以确保应用不会仅因为没有其初级阶段的受众而被丢弃。
某些类型的网站可能不在上述训练数据中表示。例如,系统200 可以使用手动输入的启发式手段手动丢弃特定的网站类型。例如,以下网站类型可以从任何应用结果中移除:下载促销页面(例如,用于操作系统的可下载软件),用于移动app的促销页面和/或敏感内容。
本文描述的各种技术的实施方式可以在数字电子电路中,或在计算机硬件,固件,软件或它们的组合中实施。实施方式可以实施为计算机程序产品,即,有形地实现在信息载体中例如在机器可读存储设备(计算机可读介质,非暂时性计算机可读存储介质,有形计算机可读存储介质)或在传播的信号中的计算机程序,以由例如可编程处理器、计算机或多台计算机的数据处理装置处理或者控制数据处理装置的操作。在一些实施方式中,计算机可读存储介质可以存储指令,当被执行时指令可以使处理器(例如,移动设备的处理器,主机设备的处理器)执行进程。计算机程序,诸如上述计算机程序,可以以任何形式的编程语言包括编译或解释语言来编写,并且可以以任何形式部署,包括作为独立程序或作为模块,组件,子程序或适用于计算环境的其它单元。可以将计算机程序部署为在一个计算机上或在一个站点上或分布在多个站点上并由通信网络互连的多个计算机上进行处理。
过程步骤可以由执行计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并产生输出来执行功能。过程步骤还可以由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))来执行,并且设备可以被实施为专用逻辑电路(例如, FPGA(现场可编程门阵列)或ASIC(专用集成电路))。
适用于处理计算机程序的处理器例如包括通用和专用微处理器以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的元件可以包括用于执行指令的至少一个处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还可以包括或可操作地耦合以从或向一个或多个用于存储数据的大容量存储设备(例如磁,磁光盘或光盘)接收数据或传送数据或者既接收数据也传送数据。适用于实现计算机程序指令和数据的信息载体包括所有形式的非易失性存储器,包括例如半导体存储设备例如EPROM、EEPROM和闪速存储设备;磁盘,例如内部硬盘或可移动盘;磁光盘;和CD ROM和DVD-ROM 磁盘。处理器和存储器可以由专用逻辑电路补充或并入其中。
为了提供与用户的交互,实施方式可以在具有用于向用户显示信息的诸如阴极射线管(CRT),发光二极管(LED)或液晶显示器(LCD) 监视器的显示装置和用户可以用来向计算机提供输入的键盘和指示设备例如鼠标或轨迹球的计算机上实施。也可以使用其它类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。
实施方式可以在计算系统中实施,计算系统包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或者包括前端组件,例如具有用户可以用来与实施方式交互的图形用户界面或 web浏览器的客户端计算机或者包括这种后端、中间件或前端组件的任何组合。组件可以通过数字数据通信的任何形式或介质例如通信网络互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如互联网。
虽然所描述的实施方式的某些特征已经如本文所描述的那样被示出,但是本领域技术人员现在将会想到许多修改,替换,改变和等价物。因此,应当理解,所附权利要求旨在涵盖落入实施例的范围内的所有这样的修改和改变。应当理解,它们仅以示例的方式呈现,而不是限制,并且可以进行形式和细节的各种改变。除了相互排斥的组合之外,本文描述的装置和/或方法的任何部分可以以任何组合来进行组合。本文描述的实施例可以包括所描述的不同实施例的功能,组件和/ 或特征的各种组合和/或子组合。
此外,附图中描绘的逻辑流程不需要所示的特定次序或顺序次序来实现期望的结果。此外,可以从所描述的流程中提供其它步骤,或者可以从所描述的流程中消除步骤,并且可以将其它组件添加到所描述的系统中或从所描述的系统中移除。因此,其它实施例在所附权利要求的范围内。

Claims (22)

1.一种计算机实施的方法,包括:
获得针对在线应用商店中的多个web应用的标准;
将所述标准翻译成至少一个规则,所述至少一个规则基于由所述在线应用商店定义的预定义类别;
由计算设备通过爬取多个网站获得与所述多个网站相关联的元数据;
使用所述元数据和所述至少一个规则来确定所述多个网站中的任何网站是否包括表示web应用内容的代码,其中,所述爬取包括在所述多个网站的内容的可执行代码中执行对提及浏览器权限序列的词语的搜索;
基于在所述可执行代码中的所搜索的词语来推断所述可执行代码关于web应用;
使用所述至少一个规则来确定所述web应用内容是否满足属于所述在线应用商店预定义类别的类型;
响应于确定所述多个网站中的至少一个网站包括满足由所述在线应用商店定义的类型的web应用内容,获得与所述至少一个网站相关联的所述web应用内容;以及
生成所述至少一个网站的图标,所述图标和所述web应用内容被配置以用于作为所述在线应用商店中的可选收录放置,并且
将所述图标作为所述在线应用商店中的可选收录显示。
2.根据权利要求1所述的方法,其中,所述标准还包括与web应用使用和web应用更新查询相关联的数据。
3.根据权利要求1所述的方法,其中,所述爬取包括爬取与网站相对应的主机名。
4.根据权利要求1所述的方法,其中,获得所述元数据包括从与所述多个网站中的一个网站相关联的主机接收所述元数据。
5.根据权利要求1所述的方法,其中,所述可选收录是在web浏览器中可执行的应用。
6.根据权利要求1所述的方法,其中,所述元数据包括与所述至少一个网站相关联的标题、摘录、URL、所述URL的主机名或标签。
7.根据权利要求1所述的方法,还包括:向与所述至少一个网站相关联的主机提供被配置为使得所述主机能够更新所述收录的信息,以及响应于接收到更新所述收录的指令,执行所述指令,以及将更新的收录提供给所述在线应用商店。
8.根据权利要求1所述的方法,还包括周期性地且在没有从用户接收请求的情况下:
执行web爬取以检索关于所述多个网站的附加内容;
从所述附加内容中产生更新的收录;以及
用所述更新的收录替换所述收录,并在所述在线应用商店中提供所述更新的收录,并且其中,所述更新的收录优选地包括至少部分地基于所述附加内容的修改的功能。
9.根据权利要求8所述的方法,其中,响应于从主机接收更新所述收录的许可而执行生成所述更新的收录。
10.根据权利要求1所述的方法,还包括:
检索与多个web应用相关联的数据,以及针对所述多个web应用中的每一个定义与所述数据相对应的至少两个度量,其中,所述至少两个度量是从与web应用使用、web应用安装、web应用更新查询和web应用用户评级相关联的数据中选择的;
为所述多个web应用中的每一个定义分数,所述分数至少部分地基于所述至少两个度量;
定义与所述分数相关联的阈值;
响应于执行驻留在在线应用商店之外的文档的web爬取,检索包括web应用内容的文档,根据所述度量将文档分数与所述文档中的每一个相关联;
选择所述文档的第一部分用于配置和上传到所述在线应用商店,所述第一部分与高于阈值的文档分数相关联;以及
丢弃文档的第二部分,所述第二部分与低于所述阈值的文档分数相关联。
11.根据权利要求10所述的方法,还包括响应于确定所述文档中的一个或多个文档不是基于用户托管的web应用而丢弃所述文档中的所述一个或多个文档,和/或
确定与高于所述阈值的分数相关联的所述文档中的一个或多个文档包括重复URL内容;
选择与所述一个或多个文档相关联的起始页;
将所述起始页中的内容配置和上传到所述在线应用商店;以及
丢弃所述重复URL内容。
12.根据权利要求10所述的方法,其中,web应用内容包括提供作为服务公开并从web浏览器访问的功能的一个或多个可执行web应用,和/或其中,所述多个web应用对应于在线应用商店中可用的应用,并且所述至少两个度量对应于所述web应用的质量评级。
13.一种系统,包括:
至少一个处理器;
存储指令的存储器,所述指令在由所述至少一个处理器执行时使所述系统执行操作,所述操作包括:
获得针对在线应用商店中的多个web应用的标准;
将所述标准翻译成至少一个规则,所述至少一个规则基于由所述在线应用商店定义的预定义类别;
由计算设备通过爬取多个网站获得与所述多个网站相关联的元数据;
使用所述元数据和所述至少一个规则来确定所述多个网站中的任何网站是否包括表示web应用内容的代码,其中,所述爬取包括在所述多个网站的内容的可执行代码中执行对提及浏览器权限序列的词语的搜索;
基于在所述可执行代码中的所搜索的词语来推断所述可执行代码关于web应用;
使用所述至少一个规则来确定所述web应用内容是否满足属于所述在线应用商店预定义类别的类型;
响应于确定所述多个网站中的至少一个网站包括满足由所述在线应用商店定义的类型的web应用内容,获得与所述至少一个网站相关联的所述web应用内容;以及
生成所述至少一个网站的图标,所述图标和所述web应用内容被配置以用于作为所述在线应用商店中的可选收录放置,并且
将所述图标作为所述在线应用商店中的可选收录显示。
14.根据权利要求13所述的系统,其中,所述标准还包括与web应用使用和web应用更新查询相关联的数据。
15.根据权利要求13所述的系统,其中,所述操作还包括:
检索与多个web应用相关联的数据,以及针对所述多个web应用中的每一个定义与所述数据相对应的至少两个度量,其中,所述至少两个度量是从与web应用使用、web应用安装、web应用更新查询和web应用用户评级相关联的数据中选择的;
为所述多个web应用中的每一个定义分数,所述分数至少部分地基于所述至少两个度量;
定义与所述分数相关联的阈值;
响应于执行驻留在在线应用商店之外的文档的web爬取,检索包括web应用内容的文档,根据所述度量将文档分数与所述文档中的每一个相关联;
选择所述文档的第一部分用于配置和上传到所述在线应用商店,所述第一部分与高于阈值的文档分数相关联;以及
丢弃文档的第二部分,所述第二部分与低于所述阈值的文档分数相关联。
16.根据权利要求15所述的系统,其中,所述操作还包括响应于确定所述文档中的一个或多个文档不是基于用户托管的web应用而丢弃所述文档中的所述一个或多个文档,和/或确定与高于所述阈值的分数相关联的所述文档中的一个或多个文档包括重复URL内容;
选择与所述一个或多个文档相关联的起始页;
将所述起始页中的内容配置和上传到所述在线应用商店;以及
丢弃所述重复URL内容。
17.根据权利要求13所述的系统,其中,web应用内容包括一个或多个可执行web应用,所述一个或多个可执行web应用提供作为服务公开并从web浏览器访问的功能。
18.一种存储指令的非暂时性计算机可读存储介质,所述指令在由至少一个计算设备执行时,使所述至少一个计算设备执行操作,所述操作包括:
获得针对在线应用商店中的多个web应用的标准;
将所述标准翻译成至少一个规则,所述至少一个规则基于由所述在线应用商店定义的预定义类别;
由计算设备通过爬取多个网站获得与所述多个网站相关联的元数据;
使用所述元数据和所述至少一个规则来确定所述多个网站中的任何网站是否包括表示web应用内容的代码,其中,所述爬取包括在所述多个网站的内容的可执行代码中执行对提及浏览器权限序列的词语的搜索;
基于在所述可执行代码中的所搜索的词语来推断所述可执行代码关于web应用;
使用所述至少一个规则来确定所述web应用内容是否满足属于所述在线应用商店预定义类别的类型;
响应于确定所述多个网站中的至少一个网站包括满足由所述在线应用商店定义的类型的web应用内容,获得与所述至少一个网站相关联的所述web应用内容;以及
生成所述至少一个网站的图标,所述图标和所述web应用内容被配置以用于作为所述在线应用商店中的可选收录放置,并且
将所述图标作为所述在线应用商店中的可选收录显示。
19.根据权利要求18所述的非暂时性计算机可读存储介质,其中,所述标准还包括与web应用使用和web应用更新查询相关联的数据。
20.根据权利要求18所述的非暂时性计算机可读存储介质,其中,所述操作还包括:
检索与多个web应用相关联的数据,以及针对所述多个web应用中的每一个定义与所述数据相对应的至少两个度量,其中,所述至少两个度量是从与web应用使用、web应用安装、web应用更新查询和web应用用户评级相关联的数据中选择的;
为所述多个web应用中的每一个定义分数,所述分数至少部分地基于所述至少两个度量;
定义与所述分数相关联的阈值;
响应于执行驻留在在线应用商店之外的文档的web爬取,检索包括web应用内容的文档,根据所述度量将文档分数与所述文档中的每一个相关联;
选择所述文档的第一部分用于配置和上传到所述在线应用商店,所述第一部分与高于阈值的文档分数相关联;以及
丢弃文档的第二部分,所述第二部分与低于所述阈值的文档分数相关联。
21.根据权利要求20所述的非暂时性计算机可读存储介质,其中,所述操作还包括响应于确定所述文档中的一个或多个文档不是基于用户托管的web应用而丢弃所述文档中的所述一个或多个文档,和/或确定与高于所述阈值的分数相关联的所述文档中的一个或多个文档包括重复URL内容;
选择与所述一个或多个文档相关联的起始页;
将所述起始页中的内容配置和上传到所述在线应用商店;以及
丢弃所述重复URL内容。
22.根据权利要求18所述的非暂时性计算机可读存储介质,其中,web应用内容包括一个或多个可执行web应用,所述一个或多个可执行web应用提供作为服务公开并从web浏览器访问的功能。
CN201580078536.8A 2015-06-15 2015-06-15 应用的自动爬取 Active CN107592930B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2015/000372 WO2016204642A1 (en) 2015-06-15 2015-06-15 Automatic crawling of applications

Publications (2)

Publication Number Publication Date
CN107592930A CN107592930A (zh) 2018-01-16
CN107592930B true CN107592930B (zh) 2020-12-29

Family

ID=55070110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580078536.8A Active CN107592930B (zh) 2015-06-15 2015-06-15 应用的自动爬取

Country Status (5)

Country Link
US (2) US10558715B2 (zh)
EP (1) EP3308294B1 (zh)
CN (1) CN107592930B (zh)
DE (1) DE202015009301U1 (zh)
WO (1) WO2016204642A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10922363B1 (en) * 2010-04-21 2021-02-16 Richard Paiz Codex search patterns
US11048765B1 (en) 2008-06-25 2021-06-29 Richard Paiz Search engine optimizer
US11809506B1 (en) 2013-02-26 2023-11-07 Richard Paiz Multivariant analyzing replicating intelligent ambience evolving system
US11741090B1 (en) 2013-02-26 2023-08-29 Richard Paiz Site rank codex search patterns
US10152488B2 (en) * 2015-05-13 2018-12-11 Samsung Electronics Co., Ltd. Static-analysis-assisted dynamic application crawling architecture
US11164224B2 (en) * 2016-07-22 2021-11-02 Aetna Inc. Smart application rating
US10257312B2 (en) * 2016-10-27 2019-04-09 Entit Software Llc Performance monitor based on user engagement
US10701166B2 (en) * 2017-01-31 2020-06-30 Microsoft Technology Licensing, Llc Automated application linking
US10955994B2 (en) * 2017-06-02 2021-03-23 Apple Inc. User interfaces for downloading applications on an electronic device
JP6501029B1 (ja) * 2018-07-26 2019-04-17 オムロン株式会社 情報処理装置、情報処理システム、情報処理方法、及びプログラム
CN109150991A (zh) * 2018-07-28 2019-01-04 安徽赛迪信息技术有限公司 一种行业经济数据收集系统
US11080358B2 (en) 2019-05-03 2021-08-03 Microsoft Technology Licensing, Llc Collaboration and sharing of curated web data from an integrated browser experience
US11494393B2 (en) * 2019-08-22 2022-11-08 Yahoo Assets Llc Method and system for data mining
US11144720B2 (en) * 2019-08-26 2021-10-12 Roblox Corporation Determining canonical content for a game
CN111338714B (zh) * 2020-02-19 2024-05-17 北京百度网讯科技有限公司 小程序物料处理方法、装置、电子设备和介质
US20210319166A1 (en) * 2020-04-10 2021-10-14 Microsoft Technology Licensing, Llc Editable multicell multicategory document presentation
CN112199568A (zh) * 2020-09-28 2021-01-08 时趣互动(北京)科技有限公司 移动app数据抓取方法、装置及系统
US20230229433A1 (en) * 2022-01-14 2023-07-20 Salesforce.Com, Inc. Application icon generation based on unique application property representation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011064675A1 (en) * 2009-11-30 2011-06-03 France Telecom Method and system to recommend applications from an application market place
CN104412265A (zh) * 2012-04-27 2015-03-11 奎克西公司 更新用于促进应用搜索的搜索索引

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8452850B2 (en) * 2000-12-14 2013-05-28 International Business Machines Corporation Method, apparatus and computer program product to crawl a web site
US7725452B1 (en) * 2003-07-03 2010-05-25 Google Inc. Scheduler for search engine crawler
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
US20090037287A1 (en) * 2007-07-31 2009-02-05 Ahmad Baitalmal Software Marketplace and Distribution System
US10255580B2 (en) * 2008-05-05 2019-04-09 Apple Inc. Network-based distribution of application products
US20110231290A1 (en) 2010-03-17 2011-09-22 Ebyline, Inc. Online marketplace portal for content publishers and content creators
US20120166411A1 (en) * 2010-12-27 2012-06-28 Microsoft Corporation Discovery of remotely executed applications
EP2710466A1 (en) * 2011-05-09 2014-03-26 Google, Inc. Identifying applications of interest based on application metadata
US9519726B2 (en) * 2011-06-16 2016-12-13 Amit Kumar Surfacing applications based on browsing activity
US20130103550A1 (en) * 2011-10-24 2013-04-25 Carl Patrick Nygaard Discovery of digital goods in an online marketplace
US20140173638A1 (en) 2011-12-05 2014-06-19 Thomas G. Anderson App Creation and Distribution System
US9256445B2 (en) * 2012-01-30 2016-02-09 Microsoft Technology Licensing, Llc Dynamic extension view with multiple levels of expansion
US8296190B1 (en) 2012-04-13 2012-10-23 T3Media, Inc. Digital content aggregation
US20130275275A1 (en) 2012-04-13 2013-10-17 Thought Equity Motion, Inc. Digital content marketplace
US8990183B2 (en) * 2012-06-06 2015-03-24 Microsoft Technology Licensing, Llc Deep application crawling
US20140379925A1 (en) 2013-06-21 2014-12-25 Electronics And Telecommunications Research Institute Apparatus and method for interworking between app store servers to share application information
US8954836B1 (en) 2014-08-19 2015-02-10 Adlast, Inc. Systems and methods for directing access to products and services
US9448776B1 (en) * 2015-01-08 2016-09-20 AppNotch LLC Method and apparatus for converting a website into a native mobile application

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011064675A1 (en) * 2009-11-30 2011-06-03 France Telecom Method and system to recommend applications from an application market place
CN104412265A (zh) * 2012-04-27 2015-03-11 奎克西公司 更新用于促进应用搜索的搜索索引

Also Published As

Publication number Publication date
WO2016204642A1 (en) 2016-12-22
EP3308294A1 (en) 2018-04-18
US20200159787A1 (en) 2020-05-21
CN107592930A (zh) 2018-01-16
DE202015009301U1 (de) 2017-02-15
US10558715B2 (en) 2020-02-11
EP3308294B1 (en) 2020-10-28
US20170357721A1 (en) 2017-12-14
US11055369B2 (en) 2021-07-06

Similar Documents

Publication Publication Date Title
CN107592930B (zh) 应用的自动爬取
US10310834B2 (en) Searching and accessing application functionality
US10366127B2 (en) Device-specific search results
US9483388B2 (en) Discovery of application states
US9626443B2 (en) Searching and accessing application functionality
US9798531B2 (en) Dependency-aware transformation of multi-function applications for on-demand execution
US11397780B2 (en) Automated method and system for clustering enriched company seeds into a cluster and selecting best values for each attribute within the cluster to generate a company profile
US9852448B2 (en) Identifying gaps in search results
US10324985B2 (en) Device-specific search results
US9946794B2 (en) Accessing special purpose search systems
US20170193059A1 (en) Searching For Applications Based On Application Usage
US20160191338A1 (en) Retrieving content from an application
US20200242633A1 (en) Automated method and system for enriching a company profile with a company logo by extracting candidate images from various sources and determining which image most closely corresponds the company logo
US20200242634A1 (en) Method and system for automatically identifying candidates from a plurality of different websites, determining which candidates correspond to company executives for a company profile, and generating an executive profile for the company profile
US10853470B2 (en) Configuration of applications to desired application states
US10445326B2 (en) Searching based on application usage
US10157210B2 (en) Searching and accessing software application functionality using application connections
US20160378871A1 (en) Generating Search Results Using Current Software Application States
US20170103073A1 (en) Identifying Expert Reviewers
US20200242635A1 (en) Method and system for automatically generating a rating for each company profile stored in a repository and auto-filling a record with information from a highest ranked company profile
US20200242533A1 (en) Method and system for verifying quality of company profiles stored in a repository and publishing the repository when the company profiles pass a quality test

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant