CN110990057B - 小程序子链信息的提取方法、装置、设备及介质 - Google Patents

小程序子链信息的提取方法、装置、设备及介质 Download PDF

Info

Publication number
CN110990057B
CN110990057B CN201911158424.XA CN201911158424A CN110990057B CN 110990057 B CN110990057 B CN 110990057B CN 201911158424 A CN201911158424 A CN 201911158424A CN 110990057 B CN110990057 B CN 110990057B
Authority
CN
China
Prior art keywords
page
applet
key information
source code
information
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
CN201911158424.XA
Other languages
English (en)
Other versions
CN110990057A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201911158424.XA priority Critical patent/CN110990057B/zh
Publication of CN110990057A publication Critical patent/CN110990057A/zh
Application granted granted Critical
Publication of CN110990057B publication Critical patent/CN110990057B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/74Reverse engineering; Extracting design information from source code
    • 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]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例公开了一种小程序子链信息的提取方法、装置、设备及介质,涉及信息处理技术领域。具体实现方案为:读取小程序源码包,并在小程序源码包中获取页面层级路径,页面层级路径包括小程序中各页面的存储路径;根据页面层级路径,在小程序源码包中获取与小程序中的各页面对应的页面文件夹;从各页面文件夹中,提取与各页面分别对应的页面关键信息,页面关键信息包括:URI以及至少一项内容描述信息;根据页面关键信息,生成与小程序中的各页面分别对应的子链信息。实现了自动化地提取与小程序中各页面对应的子链信息,节省了大量的人力资源。

Description

小程序子链信息的提取方法、装置、设备及介质
技术领域
本申请实施例涉及计算机技术领域,尤其涉及信息处理技术领域,具体涉及一种小程序子链信息的提取方法、装置、设备及介质。
背景技术
随着计算机技术的不断发展,不需要下载安装即可使用的应用“小程序”得到了广泛地应用。
现有技术中,小程序的分发,特别是小程序内各页面的分发主要是通过开发者将装配好的物料提交至小程序平台进行人工审核,人工审核通过后,对与小程序页面对应的物料进行分发。
现有技术的方法,开发者需要先上传小程序再上传小程序页面的物料,会大大地增加开发者的整理成本,这样操作也会使小程序和物料的分发是割裂开的,没有形成一个整体,容易产生时间和效果偏差;同时,现有技术的方案,需要通过大量的人力资源才能实现小程序页面的物料的分发,增加了平台的人力成本,并且小程序包升级调整时,还需要分发侧区分版本映射。
发明内容
本申请实施例提供一种小程序子链信息的提取方法、装置、设备及介质,实现了自动化地提取与小程序中各页面对应的子链信息,节省了大量的人力资源。
第一方面,本申请实施例提供了一种小程序子链信息的提取方法,该方法包括:
读取小程序源码包,并在所述小程序源码包中获取页面层级路径,所述页面层级路径包括所述小程序中各页面的存储路径;
根据所述页面层级路径,在所述小程序源码包中获取与所述小程序中的各页面对应的页面文件夹;
从各所述页面文件夹中,提取与各所述页面分别对应的页面关键信息,所述页面关键信息包括:统一资源标识符(Uniform Resource Identifier,URI)以及至少一项内容描述信息;
根据所述页面关键信息,生成与所述小程序中的各页面分别对应的子链信息。
可选的,在所述小程序源码包中获取页面层级路径,包括:
根据所述小程序源码包的数据结构,在所述小程序源码包中的设定文件目录下,获取设定的层级路径描述文件;
在所述层级路径描述文件中,读取所述页面层级路径。
这样设置的好处在于:通过查找小程序源码包的中的设定文件即层级路径描述文件,可以快速的在层级路径描述文件中读取页面层级路径。
可选的,从各所述页面文件夹中,提取与各所述页面分别对应的页面关键信息,包括:
在各所述页面文件夹中,分别提取与各所述页面对应的页面关键信息描述文件;
在各所述页面关键信息描述文件中,获取与各所述页面分别对应的页面关键信息。
这样设置的好处在于:通过页面关键信息描述文件可以快速并且简便的获取与各页面分别对应的页面关键信息。
可选的,在各所述页面关键信息描述文件中,获取与各所述页面分别对应的页面关键信息,包括:
在各所述页面关键信息描述文件中,分别获取键值对形式的数据对;
将各所述数据对与设定的键名字典进行匹配,并根据匹配结果,提取对应的键值作为所述页面关键信息;
其中,在所述页面关键信息描述文件中,预先根据统一的键名命名规则,生成各所述数据对。
这样设置的好处在于:通过统一的键名命名规则生成各数据对,并将数据对于设定的键名字典进行匹配,根据匹配结果提取到的页面关键信息准确率更高,可以进一步地生成更准确的子链信息。
可选的,根据所述页面关键信息,生成与所述小程序中的各页面分别对应的子链信息,包括:
根据各所述页面分别对应URI,生成与各所述页面分别对应的统一资源定位符(Uniform Resource Locator,URL);
按照预设的数据装配规则,将各所述页面中的URL,与至少一项内容描述信息进行组合,得到与所述小程序中的各页面分别对应的子链信息。
这样设置的好处在于:通过不同的组合方式可以得到多个子链信息,从中可以选择出最优的小程序中的各页面分别对应的子链信息。
可选的,在根据所述页面关键信息,生成与所述小程序中的各页面分别对应的子链信息之后,还包括:
将所述子链信息提供给信息分发平台进行分发。
这样设置的好处在于:将子链信息提供给信息分发平台,可以实现小程序快速且准确的分发,无需人工审核与操作。
可选的,所述小程序源码包中获取页面层级路径,包括:
在所述小程序源码包的一级目录中,获取app.json文件,并读取该app.json文件中记录的页面层级路径;和/或
从各所述页面文件夹中,提取与各所述页面分别对应的页面关键信息,包括:
提取各所述页面文件夹中包括的json文件,并在各所述json文件中,获取与各所述页面分别对应的页面关键信息。
这样设置的好处在于:通过在指定的app.json文件以及json文件中获取页面层级路径和与各页面分别对应的关键信息,简化了操作步骤,可以快速的获取到页面层级路径以及页面关键信息,加快了算法的计算速度。
可选的,读取小程序源码包,包括:
根据所述小程序源码包的压缩类型,对所述小程序源码包进行解压缩处理,并将解压缩处理结果读入内存中;和/或
在所述小程序源码包中获取页面层级路径之前,还包括:
根据所述小程序源码包的数据结构,对所述小程序源码包进行合法性验证。
这样设置的好处在于:通过对小程序源码包进行合法性验证,可以过滤掉不合法的小程序源码包,减少了对不符合规定的小程序的处理时间,加快了小程序的分发效率。
可选的,本申请实施例中任一实施例所述的内容描述信息包括:标题、摘要、标签以及关键词。
第二方面,本申请实施例还提供了一种小程序子链信息的提取装置,该装置包括:
小程序源码包读取模块,用于读取小程序源码包,并在所述小程序源码包中获取页面层级路径,所述页面层级路径包括所述小程序中各页面的存储路径;
页面文件夹获取模块,用于根据所述页面层级路径,在所述小程序源码包中获取与所述小程序中的各页面对应的页面文件夹;
页面关键信息提取模块,用于从各所述页面文件夹中,提取与各所述页面分别对应的页面关键信息,所述页面关键信息包括:URI以及至少一项内容描述信息;
子链信息生成模块,用于根据所述页面关键信息,生成与所述小程序中的各页面分别对应的子链信息。
第三方面,本申请实施例还提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请实施例中任一实施例所述的方法。
第四方面,本申请实施例还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请实施例中任一实施例所述的方法。
上述申请中的一个实施例具有如下优点或有益效果:通过读取小程序源码包,并在小程序源码包中获取页面层级路径,页面层级路径包括小程序中各页面的存储路径;根据页面层级路径,在小程序源码包中获取与小程序中的各页面对应的页面文件夹;从各页面文件夹中,提取与各页面分别对应的页面关键信息,页面关键信息包括:URI以及至少一项内容描述信息;根据页面关键信息,生成与小程序中的各页面分别对应的子链信息。实现了自动化地提取与小程序中各页面对应的子链信息,节省了大量的人力资源,并且在小程序包有更新时,例如,增加了新的页面或者修改了页面链接时,可以及时调整小程序子链信息,以及时触达页面。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定,其中:
图1是根据本申请的实施例一的一种小程序子链信息的提取方法的流程图;
图2是根据本申请的实施例二的一种小程序子链信息的提取方法的流程图;
图3是根据本申请的实施例中列举的一个小程序源码包的结构示意图;
图4是根据本申请的实施例二的一种小程序子链信息的提取方法的流程图;
图5是根据本申请的实施例二的一种小程序的子链信息提取和分发方法的流程图;
图6是本申请实施例三中的一种小程序子链信息的提取装置的结构示意图;
图7是用来实现本申请实施例的小程序子链信息的提取方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
实施例一
图1是根据本申请的实施例一的一种小程序子链信息的提取方法的流程图,本实施例可适用于小程序开发中,提取小程序的子链信息从而理解小程序的页面内容的情况,该方法可以由一种小程序子链信息的提取装置来执行,该装置可以由软件和/或硬件实现,并一般可以集成在电子设备中,该电子设备可以为服务器、计算机或平板电脑等。具体的,参考图1,该方法具体包括如下步骤:
S110、读取小程序源码包,并在小程序源码包中获取页面层级路径,页面层级路径包括小程序中各页面的存储路径。
具体的,小程序是一种不需要下载安装即可使用的应用,用户通过“扫一扫”或者“搜一下”即可打开应用。小程序源码包中可以包括图片、小程序配置信息以及小程序版本信息等各种文件,在小程序源码包中,上述文件以文件夹嵌套的形式存储。
具体的,读取小程序源码包,可以包括:根据小程序源码包的压缩类型,对小程序源码包进行解压缩处理,并将解压缩处理结果写入内存中。示例性的,小程序源码包的格式可以为gz、tar.gz、zip或者rar等安全性较高的压缩格式。
具体的,可以在小程序源码包中获取页面层级路径,其中,页面层级路径包括小程序中各页面的存储路径。示例性的,小程序中的页面可以为小程序中任意一个页面,例如,可以是小程序中可以跳转的页面,也可以是小程序中的显示页面,本实施例中对其不作限定。
需要说明的是,页面层级路径中可以包括小程序中各页面的存储路径,示例性的,若小程序中包括index、activity以及center三个页面,则页面层级路径中包括index、activity以及center三个页面的存储路径,其中,三个页面的存储路径可以分别为“pages\/index\/index”、“pages\/activity\/activity”以及“pages\/member\/center\/center”。“pages\/index\/index”可以理解为存储页面index的第一级文件夹为pages,第二级文件夹为index;小程序其他页面的存储方式与其相同,在此不再对其进行赘述。
可选的,在小程序源码中获取页面层级路径,包括:根据小程序源码包的数据结构,在小程序源码包中的设定文件目录下,获取设定的层级路径描述文件;在层级路径描述文件中,读取页面层级路径。示例性的,可以在视频播放类小程序A的源码包的第一级目录下获取层级路径描述文件B,层级路径描述文件B中读取小程序A的页面层级路径。
可选的,在小程序源码包中获取页面层级路径之前,还可以根据小程序源码包的数据结构,对小程序源码包进行合法性验证。示例性的,可以通过检查小程序源码包的第一级目录下是否包含设定的文件夹以及设定的文件,以验证该小程序源码包的合法性。其中,设定的文件夹可以为pages文件夹,设定的文件可以是app.json文件。
在本申请实施例的一个具体例子中,可以在小程序源码包的一级目录中,获取app.json文件,并读取在app.json文件中记录的页面层级路径。
S120、根据页面层级路径,在小程序源码包中获取与小程序中的各页面对应的页面文件夹。
具体的,根据在小程序源码包中获取到的页面层级路径,在小程序源码包中获取与小程序中的各页面对应的页面文件夹。
需要说明的是,从小程序源码包中获取到的页面层级路径中包括小程序中各页面的存储路径,例如,从小程序A中获取的页面层级路径a中包括小程序A中所有页面的存储路径;从小程序B中获取的页面层级路径b中包括小程序B中所有页面的存储路径。可以理解的是,通过获取到的页面层级路径可以在小程序源码包中找到存储小程序中各页面的页面文件夹。示例性的,若通过页面层级路径中查询到小程序index页面的存储路径为:pages\/index\/index,通过该路径可以查询到与index页面对应的页面文件夹为pages文件夹下的index页面文件夹;若通过页面层级路径中查询到小程序activity页面的存储路径为:pages\/activity\/activity,通过该路径可以查询到与activity页面对应的页面文件夹为pages文件夹下的activity页面文件夹。
S130、从各页面文件夹中,提取与各页面分别对应的页面关键信息,页面关键信息包括:URI以及至少一项内容描述信息。
具体的,从根据页面层级路径在小程序源码包中获取到的与小程序中的各页面对应的页面文件夹中,提取与各页面分别对应的页面关键信息,其中,页面关键信息包括:URI以及至少一项内容描述信息,具体的,内容描述信息可以包括:页面的标题、摘要、标签以及关键词等。该URI为各个页面在小程序包中的相对路径,也即path路径。
可选的,从各页面文件夹中,提取与各页面分别对应的页面关键信息,可以在各页面文件夹中,分别提取与各页面对应的页面关键信息描述文件;在各页面关键信息描述文件中,获取与各页面分别对应的页面关键信息。示例性的,若获取到小程序index页面对应的页面文件夹为pages文件夹下的index页面文件夹,则可以在index页面文件夹内提取页面关键信息描述文件,在描述文件中获取与index页面对应的页面关键信息,其中,获取到的页面关键信息可以为index页面的URI与index页面的标题、index页面的URI、index页面的标题以及index页面的摘要等。
在本申请实施例的一个具体例子中,可以提取各页面文件夹中的json文件,并在json文件中获取与页面对应的页面关键信息,需要说明的是,每个通过合法性验证的小程序源码包中的各个子文件夹内至少包括一个json文件,即每个页面文件夹内应包括至少一个json文件,可以从各json文件中获取与各页面分别对应的页面关键信息。示例性的,可以在index页面文件夹内的json文件中获取与index页面对应的页面关键信息。
S140、根据页面关键信息,生成与小程序中的各页面分别对应的子链信息。
具体的,提取与各页面分别对应的页面关键信息后,根据页面关键信息生成与小程序中的各页面分别对应的子链信息。
示例性的,可以根据各所述页面分别对应URI,生成与各所述页面分别对应的URL;按照预设的数据装配规则,将各页面中的URI与至少一项内容描述信息进行组合,得到与小程序中各页面分别对应的子链信息,其中,内容描述信息可以为标题、摘要、标签以及关键词。需要说明的是,与小程序中的各页面分别对应的子链信息可以理解小程序各页面的基本内容信息与URL的组合,进而可以实现小程序的准确分发。
其中,根据各所述页面分别对应URI,生成与各所述页面分别对应的URL的方式可以为:按照下述规则:http+小程序包的短域名+URI(path路径)的方式,生成与各页面的URI对应的URL,也即,将各页面的相对访问路径,转换为绝对访问路径,以方便用户直接通过网络对各页面进行访问。
示例性的,可以在得到与页面A的URI对应的URL之后,将页面A的URL与摘要描述信息组合,得到页面A的子链信息;也可以将页面A的URL与摘要描述信息以及关键词描述信息进行组合,得到页面A的子链信息,本申请实施例中对此不作限定。
在本实施例的另一个具体例子中,可以将获取到的页面的标题、摘要、标签以及关键词等内容描述信息输入到打分模型中,通过打分模型对各内容描述信息的完整程度或者有用程度进行打分,将得分较高的内容描述信息与页面的URL进行组合,从而得到最优的子链信息。需要说明的是,还可以通过其他的方式获取到与各页面分别对应的子链信息,本申请实施例中对此不再进行赘述。
需要说明的是,本申请实施例中任一实施例中涉及到的小程序子链信息的提取方法,并不仅限于提取小程序的子链信息,也可以在任何嵌套的包结构中进行信息提取,本申请实施例中对此不作赘述。
本实施例的方案,通过读取小程序源码包,并在小程序源码包中获取页面层级路径,页面层级路径包括小程序中各页面的存储路径;根据页面层级路径,在小程序源码包中获取与小程序中的各页面对应的页面文件夹;从各页面文件夹中,提取与各页面分别对应的页面关键信息,页面关键信息包括:URI以及至少一项内容描述信息;根据页面关键信息,生成与小程序中的各页面分别对应的子链信息。实现了自动化地提取与小程序中各页面对应的子链信息,解决了现有技术中,例如网络爬虫中对小程序的子链信息抓取困难的问题,同时也节省了大量的人力资源。
实施例二
图2是根据本申请的实施例二的一种小程序子链信息的提取方法的流程图,本实施例对上述实施例进行细化,具体的,在各页面关键信息描述文件中,获取与各页面分别对应的页面关键信息,还可以包括:在各页面关键信息描述文件中,分别获取键值对形式的数据对;将各数据对与设定的键名字典进行匹配,并根据匹配结果,提取对应的键值作为页面关键信息;其中,在页面关键信息描述文件中,预先根据统一的键名命名规则,生成各数据对。具体的,参考图2,本方法包括如下步骤:
S210、读取小程序源码包,并在小程序源码包中获取页面层级路径,页面层级路径包括小程序中各页面的存储路径。
S220、根据页面层级路径,在小程序源码包中获取与小程序中的各页面对应的页面文件夹。
S230、从各页面文件夹中,提取与各页面分别对应的页面关键信息,页面关键信息包括:URI以及至少一项内容描述信息。
具体的,在各页面关键信息描述文件中,获取与各页面分别对应的页面关键信息,还可以包括:在各页面关键信息描述文件中,分别获取键值对形式的数据对;将各数据对与设定的键名字典进行匹配,并根据匹配结果,提取对应的键值作为页面描述信息;其中,在页面关键信息描述文件中,预先根据统一的键名命名规则,生成各数据对。
需要说明的是,在页面关键信息描述文件中的数据以Key-Value键值对的形式存储,可以理解的是,Key-Value键值对实际上是一个映射,即Key是查找存储在页面关键信息描述文件中的数据对的关键字,Value是该数据对的实际内容,在本申请实施例中,Value可以是对页面关键信息描述文件进行解析后,与标题、摘要、标签或者关键字对应的内容。
具体的,在本实施例中,可以在页面关键信息描述文件中,预先根据统一的键名命名规则,生成各数据对。示例性的,可以按照“文件名+Key1+Text”的方式生成各数据对的Key,其中,文件名和Key1为动态字符串,其是随着小程序包的不同而不同,典型的,不同的小程序包包含不同的页面,不同的页面又存储在不同的页面文件夹内,通过文件名可以将小程序中的各页面进行区分;Text为常量字符串,示例性的,Text可以具体为摘要、标题、标签或者关键字等信息,其中,Key1可以为小程序平台为区分不同小程序而为不同小程序所分发的关键识别码。
示例性的,例如,在index页面文件夹内的页面关键信息描述文件中,Key可以按照“文件名+Key1+摘要”的方式生成;也可以按照“文件名+Key1+标题”的方式生成。可以想到的是,当Key按照“文件名+Key1+摘要”的方式生成时,与其对应的Value是页面关键信息描述文件中与“摘要”对应的实际内容,例如,可以是某一播放电视剧A页面的电视剧简介信息;当Key按照“文件名+Key1+标题”的方式生成时,与其对应的Value是页面关键信息描述文件中与“标题”对应的实际内容,例如,可以是某一播放电视剧A页面的电视剧的名称。
示例性的,生成的各数据对的形式可以是:index Key1摘要-偶像剧A简介;也可以是activity Key1标题-电视剧名称B等。
具体的,获取到页面关键信息描述文件中以Key-Value键值对形式存储的数据对后,可以将与设定的键名字典进行匹配,并根据匹配结果,提取对应的键值(Value)作为页面的关键信息。
其中,设定的键名字典内包含各个不同的键名,且不同键名对应于不同类型的页面关键信息。示例性的,若获取到的数据对与键名字典中的一个键名“标题”匹配成功,则可以获取该数据对的Value值作为标题类型的页面关键信息。
需要说明的是,按照上述方法获取与页面对应的页面关键信息,可以获取到同一页面的多个类型的页面关键信息的情况,此时,可以将获取到的各页面关键信息进行结合,从而得到更完整的页面关键信息;例如,获得到的小程序A中与播放电视剧A的页面对应的页面关键信息分别为该电视剧的摘要、标题以及标签等内容,则可以将这些内容进行结合,从而得到更完整的小程序A中与播放电视剧A的页面对应的页面关键信息。
在本申请实施例的一个具体例子中,页面关键信息描述文件可以为各页面文件夹中包括的json文件,可以在json文件中获取与各页面分别对应的页面关键信息。示例性的,可以在json文件中预先根据统一的键名命名规则,生成各数据对,并获取各数据对;将数据对与设定的键名字典进行匹配,并根据匹配结果,提取对应的键值作为页面关键信息。
S240、根据页面关键信息,生成与小程序中的各页面分别对应的子链信息。
S250、将子链信息提供给信息分发平台进行分发。
具体的,根据页面关键信息,生成与小程序中的各页面分别对应的子链信息之后,将子链信息提供给信息分发平台,从而实现小程序的分发。
示例性的,信息分发平台可以将子链信息分发到搜索流量入口或者Feed流推荐入口,即分发成功后,可以在搜索流量入口或者Feed流推荐入口向用户展示与子链信息对应的小程序。例如,若子链信息为某一电视剧的播放识别信息,则信息分发平台将其进行分发后,用户可以在搜索流量入口或者Feed流推荐入口看见该电视剧的播放小程序,用户点击该小程序即可实现该电视剧的播放。
本实施例的方案,在上述实施例的基础上,进一步在各页面关键信息描述文件中,分别获取键值对形式的数据对;将各数据对与设定的键名字典进行匹配,并根据匹配结果,提取对应的键值作为页面关键信息;根据页面关键信息,生成与小程序中的各页面分别对应的子链信息,并将子链信息提供给信息分发平台进行分发。实现了自动化地提取小程序子链信息,并在信息分发平台对其进行分发,解决了现有技术中,例如网络爬虫中对小程序的子链信息抓取困难的问题,同时也节省了大量的人力资源。
应用场景
为了更好地理解本申请实施例,图3列举了一个小程序源码包,根据该小程序源码包300的数据结构,可以在第一级目录下的app.json文件310中获取页面层级路径;根据获取到的页面层级路径,在图3示出的小程序源码包中与小程序中的各页面对应的页面文件夹,其中,所有的页面文件夹度存放在pages文件夹320中,可以理解的是,pages文件夹320中包括了多个与小程序页面对应的页面文件夹(图3中并未示出);进一步的,从各页面文件夹中的json文件中(图3中并未示出)提取与各页面分别对应的页面关键信息,其中,页面关键信息包括URI以及至少一项内容描述信息;最后根据在json文件中提取到的页面关键信息,生成与小程序中各页面分别对应的子链信息,通过在信息分发平台对各页面分别对应的子链信息进行分发,可以实现小程序的分发。
图4列举了本申请实施例的另一个具体例子,进一步介绍了本申请实施例中涉及到的小程序子链信息的提取方法,具体的,参考图4,该方法具体包括如下步骤:
S410、小程序包输入;开发者输入待分发的小程序源码包。
S420、包解析;对开发者输入的小程序源码包进行解析。
S430、包校验;对解析后的小程序源码包进行校验,校验开发者输入的小程序源码包是否满足设定条件,若不满足需要开发者对小程序源码包进行修改,并重新提交;若满足设定条件,则可以进行下一步的操作。
S440、页面层级抽取;在校验合格的小程序源码包中获取页面层级路径。
S450、页面内容抽取;根据获取到的页面层级路径,在小程序源码包中获取与小程序中的各页面对应的页面文件夹,并在各页面文件夹中,分别提取与各页面对应的页面关键信息描述文件;在各页面关键信息描述文件中,获取与各页面分别对应的页面关键信息。
S460、页面内容装配;根据与各页面分别对应的页面关键信息,生成与小程序中的各页面分别对应的子链信息。
S470、页面内容输出;输出装配好的子链信息,并在信息开发平台中对其进行分发,实现小程序的快速有效的分发。
为了更好地理解本申请实施例,在本申请实施例的一个具体例子中,列举了小程序的子链信息提取和分发的流程图,具体的,如图5所示,具体包括如下步骤:
S510、开发者提交;具体的,开发者在开发平台提交小程序源码包。
S520、子链信息提取;提取与小程序中的各页面分别对应的子链信息。
S530、子链信息分发;具体的,开发者在信息分发平台对提取的子链信息进行分发。
S540、业务方服务;与小程序中的各页面分别对应的子链信息分发完成后,实现了小程序在搜索流量入口和Feed流推荐入口的应用。其中,Feed流推荐入口包括内容流推荐和小程序落地页挂接。
在上述各具体例子中,都通过对小程序源码包中的页面层级路径进行获取,并根据页面层级路径获取到了小程序中各页面分别对应的页面关键信息;最终生成了与小程序中的各页面分别对应的子链信息,并在信息分发平台对其进行分发。实现了自动化地提取小程序子链信息,并在信息分发平台对其进行分发,节省了大量的人力资源。
实施例三
图6是本申请实施例三中的一种小程序子链信息的提取装置的结构示意图,该装置可以通过软件和/或硬件的方式实现,并且集成在本申请任意实施例的方法的电子设备中。具体的,该装置包括:小程序源码包读取模块610、页面文件夹获取模块620、页面关键信息提取模块630以及子链信息生成模块640。
其中,小程序源码包读取模块610,用于读取小程序源码包,并在小程序源码包中获取页面层级路径,页面层级路径包括小程序中各页面的存储路径;
页面文件夹获取模块620,用于根据页面层级路径,在小程序源码包中获取与小程序中的各页面对应的页面文件夹;
页面关键信息提取模块630,用于从各页面文件夹中,提取与各页面分别对应的页面关键信息,页面关键信息包括:URI以及至少一项内容描述信息;
子链信息生成模块640,用于根据页面关键信息,生成与小程序中的各页面分别对应的子链信息。
本实施例的方案,通过小程序源码包读取模块读取小程序源码包,并在小程序源码包中获取页面层级路径;通过页面文件夹获取模块获取与小程序中的各页面对应的页面文件夹;通过页面关键信息提取模块提取与各页面分别对应的页面关键信息;通过子链信息生成模块根据页面关键信息,生成与小程序中的各页面分别对应的子链信息。实现了自动化地提取与小程序中各页面对应的子链信息,解决了现有技术中,例如网络爬虫中对小程序的子链信息抓取困难的问题,同时也节省了大量的人力资源。
可选的,小程序源码包读取模块610,还可以具体用于根据小程序源码包的数据结构,在小程序源码包中的设定文件目录下,获取设定的层级路径描述文件;在层级路径描述文件中,读取页面层级路径。
可选的,页面关键信息提取模块630包括页面关键信息描述文件提取单元,用于在各页面文件夹中,分别提取与各页面对应的页面关键信息描述文件;在各页面关键信息描述文件中,获取与各页面分别对应的页面关键信息。
可选的,页面关键信息描述文件提取单元,还可以用于在各页面关键信息描述文件中,分别获取键值对形式的数据对;将各数据对与设定的键名字典进行匹配,并根据匹配结果,提取对应的键值作为页面关键信息;其中,在页面关键信息描述文件中,预先根据统一的键名命名规则,生成各数据对。
可选的,子链信息生成模块640,还可以用于根据各所述页面分别对应URI,生成与各所述页面分别对应的URL;按照预设的数据装配规则,将各页面中的URL,与至少一项内容描述信息进行组合,得到与小程序中的各页面分别对应的子链信息。
可选的,小程序子链信息的提取装置还包括分发模块,用于将子链信息提供给信息分发平台进行分发。
可选的,小程序源码包读取模块610,还可以用于在小程序源码包的一级目录中,获取app.json文件,并读取该app.json文件中记录的页面层级路径。相应的,页面关键信息提取模块630,还可以用于提取各页面文件夹中包括的json文件,并在各json文件中,获取与各页面分别对应的页面关键信息。
可选的,小程序源码包读取模块610,还可以用于根据小程序源码包的压缩类型,对小程序源码包进行解压缩处理,并将解压缩处理结果读入内存中;和/或
在小程序源码包中获取页面层级路径之前,还包括:
根据小程序源码包的数据结构,对小程序源码包进行合法性验证。
可选的,本申请实施例中任一实施例中涉及到的内容描述信息包括:标题、摘要、标签以及关键词。
上述小程序子链信息的提取装置可执行本申请任意实施例所提供的小程序子链信息的提取方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请任意实施例提供的数据的可视化显示方法。
实施例四
本申请实施例四提供了一种电子设备和一种可读存储介质。图7是用来实现本申请实施例的小程序子链信息的提取方法的电子设备的框图,如图7所示,是根据本申请任一实施例所述的小程序子链信息的提取方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器701为例。
存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的小程序子链信息的提取的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的小程序子链信息的提取的方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请中的小程序子链信息的提取的方法对应的程序模块(例如,附图6所示的小程序源码包读取模块610、页面文件夹获取模块620、页面关键信息提取模块630以及子链信息生成模块640)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的小程序子链信息的提取的方法。
也即:读取小程序源码包,并在小程序源码包中获取页面层级路径,页面层级路径包括小程序中各页面的存储路径;
根据页面层级路径,在小程序源码包中获取与小程序中的各页面对应的页面文件夹;
从各页面文件夹中,提取与各页面分别对应的页面关键信息,页面关键信息包括:URI以及至少一项内容描述信息;
根据页面关键信息,生成与小程序中的各页面分别对应的子链信息。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据小程序子链信息的提取的电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至小程序子链信息的提取的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
小程序子链信息的提取的方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与小程序子链信息的提取的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,解决了现有小程序子链信息提取困难,例如在网络爬虫中很难对小程序的子链信息进行准确提取的问题,实现了自动化地提取与小程序中各页面对应的子链信息,节省了大量的人力资源。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (11)

1.一种小程序子链信息的提取方法,其特征在于,包括:
读取小程序源码包,并在所述小程序源码包中获取页面层级路径,所述页面层级路径包括所述小程序中各页面的存储路径;
根据所述页面层级路径,在所述小程序源码包中获取与所述小程序中的各页面对应的页面文件夹;
从各所述页面文件夹中,提取与各所述页面分别对应的页面关键信息,所述页面关键信息包括:统一资源标识符URI以及至少一项内容描述信息;
根据所述页面关键信息,生成与所述小程序中的各页面分别对应的子链信息;
其中,所述从各页面文件夹中,提取与各页面分别对应的页面关键信息,包括:
在各页面文件夹中,分别提取与各页面对应的页面关键信息描述文件;
在各页面关键信息描述文件中,获取与各页面分别对应的页面关键信息。
2.根据权利要求1所述的方法,其特征在于,在所述小程序源码包中获取页面层级路径,包括:
根据所述小程序源码包的数据结构,在所述小程序源码包中的设定文件目录下,获取设定的层级路径描述文件;
在所述层级路径描述文件中,读取所述页面层级路径。
3.根据权利要求1所述的方法,其特征在于,在各所述页面关键信息描述文件中,获取与各所述页面分别对应的页面关键信息,包括:
在各所述页面关键信息描述文件中,分别获取键值对形式的数据对;
将各所述数据对与设定的键名字典进行匹配,并根据匹配结果,提取对应的键值作为所述页面关键信息;
其中,在所述页面关键信息描述文件中,预先根据统一的键名命名规则,生成各所述数据对。
4.根据权利要求1所述的方法,其特征在于,根据所述页面关键信息,生成与所述小程序中的各页面分别对应的子链信息,包括:
根据各所述页面分别对应URI,生成与各所述页面分别对应的统一资源定位符URL;
按照预设的数据装配规则,将各所述页面中的URL,与至少一项内容描述信息进行组合,得到与所述小程序中的各页面分别对应的子链信息。
5.根据权利要求1所述的方法,其特征在于,在根据所述页面关键信息,生成与所述小程序中的各页面分别对应的子链信息之后,还包括:
将所述子链信息提供给信息分发平台进行分发。
6.根据权利要求1-5任一项所述的方法,其特征在于,在所述小程序源码包中获取页面层级路径,包括:
在所述小程序源码包的一级目录中,获取app.json文件,并读取该app.json文件中记录的页面层级路径;和/或
从各所述页面文件夹中,提取与各所述页面分别对应的页面关键信息,包括:
提取各所述页面文件夹中包括的json文件,并在各所述json文件中,获取与各所述页面分别对应的页面关键信息。
7.根据权利要求1-5任一项所述的方法,其特征在于,读取小程序源码包,包括:
根据所述小程序源码包的压缩类型,对所述小程序源码包进行解压缩处理,并将解压缩处理结果读入内存中;和/或
在所述小程序源码包中获取页面层级路径之前,还包括:
根据所述小程序源码包的数据结构,对所述小程序源码包进行合法性验证。
8.根据权利要求1-5任一项所述的方法,其特征在于,所述内容描述信息包括:标题、摘要、标签以及关键词。
9.一种小程序子链信息的提取装置,其特征在于,包括:
小程序源码包读取模块,用于读取小程序源码包,并在所述小程序源码包中获取页面层级路径,所述页面层级路径包括所述小程序中各页面的存储路径;
页面文件夹获取模块,用于根据所述页面层级路径,在所述小程序源码包中获取与所述小程序中的各页面对应的页面文件夹;
页面关键信息提取模块,用于从各所述页面文件夹中,提取与各所述页面分别对应的页面关键信息,所述页面关键信息包括:URI以及至少一项内容描述信息;
子链信息生成模块,用于根据所述页面关键信息,生成与所述小程序中的各页面分别对应的子链信息;
所述页面关键信息提取模块,具体用于在各页面文件夹中,分别提取与各页面对应的页面关键信息描述文件;
在各页面关键信息描述文件中,获取与各页面分别对应的页面关键信息。
10.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
11.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-8中任一项所述的方法。
CN201911158424.XA 2019-11-22 2019-11-22 小程序子链信息的提取方法、装置、设备及介质 Active CN110990057B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911158424.XA CN110990057B (zh) 2019-11-22 2019-11-22 小程序子链信息的提取方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911158424.XA CN110990057B (zh) 2019-11-22 2019-11-22 小程序子链信息的提取方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN110990057A CN110990057A (zh) 2020-04-10
CN110990057B true CN110990057B (zh) 2023-08-01

Family

ID=70086053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911158424.XA Active CN110990057B (zh) 2019-11-22 2019-11-22 小程序子链信息的提取方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN110990057B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111552895B (zh) * 2020-04-14 2023-10-31 携程计算机技术(上海)有限公司 小程序应用中页面路由的解析方法、系统、设备及介质
CN111767069B (zh) * 2020-06-30 2024-03-15 北京百度网讯科技有限公司 小程序处理方法、服务器、设备及存储介质
CN112506854B (zh) * 2020-11-24 2024-04-02 百度在线网络技术(北京)有限公司 页面模板文件的存储和页面生成方法、装置、设备及介质
CN113342639B (zh) * 2021-05-19 2023-05-26 国家计算机网络与信息安全管理中心 小程序安全风险评估方法和电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110083789A (zh) * 2019-04-29 2019-08-02 百度在线网络技术(北京)有限公司 一种小程序页面获取方法、服务器、客户端及电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107825765A (zh) * 2017-09-27 2018-03-23 邓志军 一种手机膜及手机定位贴膜方法
CN110209450A (zh) * 2019-05-22 2019-09-06 腾讯科技(深圳)有限公司 页面生成方法、装置、存储介质及服务器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110083789A (zh) * 2019-04-29 2019-08-02 百度在线网络技术(北京)有限公司 一种小程序页面获取方法、服务器、客户端及电子设备

Also Published As

Publication number Publication date
CN110990057A (zh) 2020-04-10

Similar Documents

Publication Publication Date Title
CN110990057B (zh) 小程序子链信息的提取方法、装置、设备及介质
US11853705B2 (en) Smart content recommendations for content authors
US10262045B2 (en) Application representation for application editions
CN103092943B (zh) 一种广告调度的方法和广告调度服务器
CN102184185A (zh) 一种用于多媒体资源搜索的方法与设备
US11036764B1 (en) Document classification filter for search queries
US20170286549A1 (en) Displaying results, in an analytics visualization dashboard, of federated searches across repositories using as inputs attributes of the analytics visualization dashboard
JP7140913B2 (ja) 映像配信時効の決定方法及び装置
EP3944592B1 (en) Voice packet recommendation
US20140059419A1 (en) Method and system of searching composite web page elements and annotations presented by an annotating proxy server
CN111737501A (zh) 一种内容推荐方法及装置、电子设备、存储介质
US20150081718A1 (en) Identification of entity interactions in business relevant data
KR101648047B1 (ko) 호환 오픈소스 소프트웨어 추천 시스템 및 방법
US11745093B2 (en) Developing implicit metadata for data stores
CN112733009B (zh) 一种搜索方法及装置
CN113568923A (zh) 数据库中数据的查询方法和装置、存储介质及电子设备
CN112699314A (zh) 热点事件确定方法、装置、电子设备及存储介质
US11250084B2 (en) Method and system for generating content from search results rendered by a search engine
US10380195B1 (en) Grouping documents by content similarity
US10698931B1 (en) Input prediction for document text search
US10546029B2 (en) Method and system of recursive search process of selectable web-page elements of composite web page elements with an annotating proxy server
US9996589B2 (en) Holistic federated ranking algorithm
Dixit Elasticsearch essentials
CN111506786B (zh) 网页更新的方法、装置、电子设备和计算机可读存储介质
US20150074087A1 (en) System and Method for Retrieving Internet Pages Using Page Partitions

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
GR01 Patent grant
GR01 Patent grant