发明内容
鉴于以上内容,有必要提供一种网络资源搜索系统,能够快速搜索资源下载地址供用户使用。
此外,还有必要提供一种网络资源搜索方法,能够快速搜索资源下载地址供用户使用。
一种网络资源搜索系统,运行于客户端中,所述客户端与服务器通信连接,所述服务器包括资源库,所述资源库存储所述服务器提供的资源及对应的资源下载地址,该系统包括:请求模块,用于以搜索关键字向所述服务器发送搜索请求;查询模块,用于接收并显示所述服务器从所述资源库查询到的所述搜索关键字对应的资源下载地址;所述查询模块,还用于根据所述搜索关键字搜索网页,查询所述服务器中是否有所述网页对应的记录及该记录中是否包含所述网页对应的资源下载地址,并显示从所述服务器查询到的所述网页对应的资源下载地址;嗅探模块,用于当所述服务器中没有所述网页对应的记录时,对所述网页进行页面嗅探,判断所述网页中是否有匹配的资源下载地址,并显示匹配的资源下载地址;及记录模块,用于将嗅探结果记录到所述服务器中。
一种网络资源搜索方法,应用于客户端中,所述客户端与服务器通信连接,所述服务器包括资源库,所述资源库存储所述服务器提供的资源及对应的资源下载地址,该方法包括:第一查询,以搜索关键字向所述服务器发送搜索请求,接收并显示所述服务器从所述资源库查询到的所述搜索关键字对应的资源下载地址;及第二查询,根据所述搜索关键字搜索网页,查询所述服务器中是否有所述网页对应的记录及该记录中是否包含所述网页对应的资源下载地址,并显示从所述服务器查询到的所述网页对应的资源下载地址,当所述服务器中没有所述网页对应的记录时,对所述网页进行页面嗅探,判断所述网页中是否有匹配的资源下载地址,并显示匹配的资源下载地址,及将嗅探结果记录到所述服务器中。
本发明根据用户输入的搜索关键字从服务器的资源库及网络中搜索资源下载地址,整合资源库及相关网页的资源,方便地提供给用户使用。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
参阅图1所示,是本发明网络资源搜索系统较佳实施例的应用环境示意图。所述网络资源搜索系统10运行于客户端1中。所述客户端1通过网络2(例如互联网)与服务器3通信连接。所述客户端1还包括本地数据库11,所述本地数据库11存储所述网络资源搜索系统10进行网页嗅探得到的资源下载地址。所述服务器3包括资源库30,所述资源库30存储所述服务器3提供的资源及对应的资源下载地址。所述网络资源搜索系统10自动分析搜索到的相关网页的资源下载地址,整合各个网页及所述资源库的资源,方便地提供给用户使用。在其他的实施例中,所述资源库30可以存储在第三方的服务器上,用于存储第三方的资源(例如与第三方有合作的视频)。所述客户端1可以是任意适用的数据处理设备,例如个人电脑、平板电脑、笔记本电脑、手机等。所述资源库30可以是音/视频库,用于存储音/视频,还可以是其他的资源库,用于存储其他可供下载的资源。
在本实施例中,所述客户端1还包括存储器12、处理器13及显示设备14。所述存储器12存储所述网络资源搜索系统10的程序代码及运行过程中所需的数据。在本实施例中,所述存储器12还存储所述本地数据库11。所述处理器13执行所述网络资源搜索系统10的程序代码以实现本发明。所述显示设备14用于显示所述网络资源搜索系统10的运行结果。
参阅图2所示,是图1中网络资源搜索系统10较佳实施例的功能模块图。所述网络资源搜索系统10包括请求模块100、第一查询模块101、第二查询模块102、第三查询模块103、嗅探模块104及记录模块105。以下将结合图3说明各模块的具体功能。
参阅图3所示,是本发明网络资源搜索方法较佳实施例的流程图。在本实施例中,步骤S301-S303和步骤S304-S313同步进行。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
步骤S301,所述请求模块100以搜索关键字向所述服务器3发送搜索请求。例如,所述请求模块100以搜索关键字“捉妖记”向所述服务器3发送搜索请求。
步骤S302,所述服务器3查询所述资源库30中是否有所述搜索关键字对应的资源下载地址。例如,所述服务器3查询所述资源库30中是否有搜索关键字“捉妖记”对应的资源下载地址。所述资源库30中的资源下载地址是所述服务器3提供的资源(例如有版权的资源)的资源下载地址。若所述资源库30中没有所述搜索关键字对应的资源下载地址,则结束流程。
若所述资源库30中有所述搜索关键字对应的资源下载地址,步骤S303,所述第一查询模块101接收所述服务器3从所述资源库30查询到的所述搜索关键字对应的资源下载地址,并将从所述资源库30查询到的所述搜索关键字对应的资源下载地址显示在所述显示设备14上。在本实施例中,所述第二查询模块102对从所述资源库30查询到的所述搜索关键字对应的资源下载地址添加标记进行显示,以表明该资源下载地址是从所述资源库30查询到的。例如,所述第二查询模块102对从所述资源库30查询到的资源下载地址添加预设的图标或标签(例如“HOT”红色标签)进行显示,以表明该资源下载地址是从所述资源库30查询到的(例如表明该资源下载地址对应所述服务器3提供的有版权的资源)。
步骤S304,所述第二查询模块102根据所述搜索关键字进行网络搜索,得到多个网页。在本实施例中,所述第二查询模块102利用搜索引擎(例如百度搜索引擎)进行搜索。所述网页可以分页显示,每页包括多个(例如10个)搜索到的网页。在本实施例中,所述服务器3判断所述搜索关键字是否包含下载关键字,若所述搜索关键字不包含下载关键字,则在所述搜索关键字中添加下载关键字,得到新的搜索关键字,并将新的搜索关键字返回客户端1,所述第二查询模块102根据所述新的搜索关键字搜索网页。所述下载关键字可以预先配置在所述服务器3上以搜索下载相关的网页。例如,所述服务器3判断所述搜索关键字不包含下载关键字,在所述搜索关键字中添加迅雷下载关键字“迅雷下载”或“thunder”。在一个例子中,服务器3在搜索关键字“捉妖记”中添加“迅雷下载”,得到新的搜索关键字“捉妖记迅雷下载”,并将新的搜索关键字返回客户端1。所述第二查询模块102根据新的搜索关键字“捉妖记迅雷下载”进行搜索。若所述搜索关键字包含下载关键字,则所述服务器3将所述搜索关键字直接作为新的搜索关键字返回所述客户端1。
步骤S305,所述第二查询模块102查询所述服务器3中是否有所述网页对应的记录。若所述服务器3中有所述网页对应的记录,则执行步骤S306。否则,若所述服务器3中没有所述网页对应的记录,则执行步骤S308。在本实施例中,所述第二查询模块102批量查询所述服务器3中是否有所述网页对应的记录,以提高查询的效率。例如,所述第二查询模块102每次对十个所述网页进行查询。所述第二查询模块102可以根据所述网页的指定字段查询所述服务器3中是否有所述网页对应的记录。例如,所述服务器3利用百度搜索引擎进行搜索,搜索到的每个网页都包括一个nsrc字段,所述第二查询模块102查询所述服务器3中是否有所述网页的nsrc字段对应的记录。
若所述服务器3中有所述网页对应的记录,步骤S306,所述第二查询模块102查询所述服务器3中所述网页对应的记录是否包含所述网页对应的资源下载地址。若所述服务器3中所述网页对应的记录不包含所述网页对应的资源下载地址,则结束流程。
若所述服务器3中所述网页对应的记录包含所述网页对应的资源下载地址,则步骤S307,所述第二查询模块102将从所述服务器3查询到的所述网页对应的资源下载地址显示在所述显示设备14上,然后结束流程。例如,第二查询模块102显示从所述服务器3查询到的所述网页的指定字段(例如nsrc字段)对应的记录。
若所述服务器3中没有所述网页对应的记录,步骤S308,所述第三查询模块103查询所述本地数据库11中是否有所述网页对应的记录。若所述本地数据库11中有所述网页对应的记录,则执行步骤S309。否则,若所述本地数据库11中没有所述网页对应的记录,则执行步骤S311。在本实施例中,所述第三查询模块103根据所述网页的指定字段(例如nsrc字段)查询所述本地数据库11中是否有所述网页对应的记录。
若所述本地数据库11中有所述网页对应的记录,步骤S309,所述第三查询模块103查询所述本地数据库11中所述网页对应的记录是否包含所述网页对应的资源下载地址。若所述本地数据库11中所述网页对应的记录不包含所述网页对应的资源下载地址,则结束流程。
若所述本地数据库11中所述网页对应的记录不包含所述网页对应的资源下载地址,则步骤S310,所述第三查询模块103将从所述本地数据库11查询到的所述网页对应的资源下载地址显示在所述显示设备14上,然后结束流程。例如,第三查询模块103将从所述本地数据库11查询到的所述网页的指定字段(例如nsrc字段)对应的资源下载地址显示在所述显示设备14上。
若所述本地数据库11中没有所述网页对应的记录,步骤S311,所述嗅探模块104对所述网页进行页面嗅探,判断所述网页中是否有匹配的资源下载地址。若所述网页中没有匹配的资源下载地址,则执行步骤S313。在本实施例中,所述嗅探模块104下载所述网页的源代码(例如html源代码),在所述源代码中匹配所述资源下载地址。所述嗅探模块104可以根据所述资源下载地址的链接规则,利用正则表达式在所述源代码中匹配所述资源下载地址。例如,匹配thunder链接规则为thunder://[A-Za-z0-9\\+/]+(?:=)*,匹配磁力链接规则为magnet:\\?xt=urn:btih:[A-Za-z0-9]{32,40},匹配电驴链接规则为ed2k://[^/]+?(?:/),匹配普通链接规则为(?:ftp|http)://[^\"'?/\\s]+/[^\"'?\\s]{0,255}?\\.(?:mp4|mp3|avi|rmvb|rm|3pg|flv|wmv|mkv|mpg|torrent)。
若所述网页中有匹配的资源下载地址,则步骤S312,所述嗅探模块104将匹配的资源下载地址显示在所述显示设备14上。
步骤S313,所述记录模块105将嗅探结果记录到所述服务器3中,并记录到所述本地数据库11中。若所述网页中有匹配的资源下载地址,则所述记录模块105记录该匹配的资源下载地址。若所述网页中没有匹配的资源下载地址,则所述记录模块105记录所述网页中没有匹配的资源下载地址。在本实施例中,所述记录模块105将嗅探结果以所述指定字段(例如nsrc字段)作为索引值记录到所述服务器3及所述本地数据库11中。
在本实施例中,所述网络资源搜索系统10对搜索到每个网页都要进行查询,每个网页查询结束立即显示网页查询结果,呈现给用户的查询结果动态增长,不断弹出新的查询结果。
在本实施例中,所述网络资源搜索系统10包括请求模块100、第一查询模块101、第二查询模块102、第三查询模块103、嗅探模块104及记录模块105。在其他实施例中,所述模块100-105可以增加或减少。例如将第一查询模块101、第二查询模块102及第三查询模块103合并成一个模块,如合并成查询模块。