本公开的实施例涉及计算机技术领域,具体涉及信息输出方法和装置。
背景技术:
大数据分析被广泛应用于各种领域,例如,新闻推送、人物画像、股票推荐等。但现有技术中的大数据的分析没有考虑用户需求的时效性,因此不能保证信息推荐的及时性和精准性。
在实现本发明的过程中,发明人发现,当前信息采集偏向于个人色彩,忽略了环境变化对于人们需求的改变,因而会产生推荐单一化,失去了对信息推荐的灵活多变性。
目前信息采集技术也存在采集零散不集中的特色,信息采集没有很好的总结归纳,不能很好的运用在其他领域,有着较大的适用范围局限性。
技术实现要素:
本公开的实施例提出了信息输出方法和装置。
第一方面,本公开的实施例提供了一种信息输出方法,包括:响应于接收到目标类别的查询请求,抓取与目标类别相关的至少一个网页;从至少一个网页中解析出至少一个候选对象的属性信息;对至少一个候选对象的属性信息进行筛选和排序;将筛选和排序的结果输出。
在一些实施例中,将筛选和排序的结果输出,包括:确定出排名靠前的预定数目个候选对象;将排名靠前的预定数目个候选推荐对象候选对象的属性信息输出。
在一些实施例中,抓取与目标类别相关的至少一个网页,包括:通过scrapy框架抓取满足预定条件的至少一个网页。
在一些实施例中,从至少一个网页中解析出至少一个候选对象的属性信息,包括:从至少一个网页中解析出至少一个对象的属性信息;将不符合预定条件的属性信息过滤掉,得到至少一个候选对象的属性信息。
在一些实施例中,目标类别为股票,属性信息包括财务指标和技术指标;以及对至少一个候选对象的属性信息进行筛选和排序,包括:筛选出市盈率小于预定市盈率阈值的股票;将过滤后的按照市盈率由小到大的顺序排序。
在一些实施例中,目标类别为股票,属性信息包括财务指标和技术指标;以及对至少一个候选对象的属性信息进行筛选和排序,包括:按照个股的盘口板块分类筛选出至少一支候选股票;将至少一支候选股票按照个股进行行业排名;将次新股作特殊标记。
在一些实施例中,目标类别为股票,属性信息包括财务指标和技术指标;以及对至少一个候选对象的属性信息进行筛选和排序,包括:筛选出市值小于预定市值阈值的股票;按照总市值由大到小的顺序排序。
在一些实施例中,目标类别为股票,属性信息包括财务指标和技术指标;以及对至少一个候选对象的属性信息进行筛选和排序,包括:筛选出业绩预增的股票;按照净利润同比预增比率和营收同比预增的比例的加权和排序,其中,净利润同比预增比率越大则排名越靠前,营收同比预增的比例越小则排名越靠前。
在一些实施例中,对至少一个候选对象的属性信息进行筛选和排序还包括:筛选出同时满足下列条件的股票:业绩预增、总市值小于预定市值阈值、市盈率小于预定市盈率阈值、kdj值满足预定条件。
在一些实施例中,该方法还包括:响应于检测到股市处于上升通道,将仓位保持在预定第一范围内;若股市连续预定天内涨幅超过预定增幅,则将仓位降低至预定第二范围内。
在一些实施例中,该方法还包括:响应于检测到股市处于下降通道,将仓位保持在预定第三范围内;若股市连续预定天内跌幅超过预定跌幅,则将仓位提高至预定第四范围内。
第二方面,本公开的实施例提供了一种信息输出系统,包括,应用服务器、分布式数据库、分析服务器:应用服务器被配置成,响应于接收到目标类别的查询请求,抓取与目标类别相关的至少一个网页,从至少一个网页中解析出至少一个候选对象的属性信息并存储到分布式数据库中;分布式数据库被配置成,将至少一个候选对象的属性信息推送到消息队列中,分发到分析服务器;分析服务器被配置成,对至少一个候选对象的属性信息进行筛选和排序确定出排名靠前的预定数目个候选对象,并将筛选和排序的结果反馈给分布式数据库;应用服务器被配置成,从分布式数据库获取排名靠前的预定数目个候选对象的属性信息输出。
在一些实施例中,该系统还包括:关系型数据库,被配置成同步分布式数据库中的数据。
在一些实施例中,分析服务器进一步被配置成:确定出排名靠前的预定数目个候选对象,并将排名靠前的预定数目个候选对象的属性信息反馈给分布式数据库。
第三方面,本公开的实施例提供了一种信息输出装置,包括:抓取单元,被配置成响应于接收到目标类别的查询请求,抓取与目标类别相关的至少一个网页;解析单元,被配置成从至少一个网页中解析出至少一个候选对象的属性信息;选择单元,被配置成对至少一个候选对象的属性信息进行筛选和排序;输出单元,被配置成将排名靠前的预定数目个候选对象的属性信息输出。
第四方面,本公开的实施例提供了一种用于信息输出的电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一的方法。
第五方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现如第一方面中任一的方法。
本公开的实施例提供的信息输出方法和装置,能保证信息推荐的及时性和精准性,考虑了环境变化对于人们需求的改变,因此信息推荐的灵活多变性。信息采集能很好的总结归纳,能很好的运用在其他领域。针对股票推荐还具有如下优点:
①实现投资人在选股时精准定位相对最佳买点和相对最佳卖点,实现智能买卖点理性拿捏。尤其是对短线投资人的选股选时的智能辅助
②帮助投资人建立一套脱离感性和情绪化投资的智能体系,完善投资人的买卖习惯;
③利用康德拉季耶夫周期理论建立最合理的中期投资仓位管理和短期的仓位控制。实现稳健的策略和最优化的投资行为。
④根据波浪理论和涛动周期论分析短期和中期的股票趋势,分析得出阶段性投资策略,为投资人创建最理性的投资引擎。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图1a、1b是本公开的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本公开的信息输出方法的一个实施例的流程图;
图3是根据本公开的信息输出方法的一个应用场景的示意图;
图4是根据本公开的信息输出装置的一个实施例的结构示意图;
图5是适于用来实现本公开的实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
图1a、1b示出了可以应用本公开的信息输出方法或信息输出装置的实施例的示例性系统架构100。
如图1a所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如股票类应用、网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的推荐信息提供支持的后台推荐服务器。后台推荐服务器可以对接收到的查询请求等数据进行分析等处理,并将处理结果(例如推荐信息)反馈给终端设备。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器是分布式服务器集群时的结构如图1b所示。服务器,可包括:应用服务器、分布式数据库(例如,redis集群,redis是一个开源的使用ansic语言编写、支持网络、可基于内存亦可持久化的日志型、key-value数据库,并提供多种语言的api。redis集群是redis提供的分布式数据库方案,集群通过分片进行数据共享,提供复制和故障转移功能)、分析服务器,其中,应用服务器被配置成,响应于接收到目标类别的查询请求,抓取与目标类别相关的至少一个网页,从至少一个网页中解析出至少一个候选对象的属性信息并存储到分布式数据库中;分布式数据库被配置成,将至少一个候选对象的属性信息推送到消息队列中,分发到分析服务器;分析服务器被配置成,对至少一个候选对象的属性信息进行筛选和排序确定出排名靠前的预定数目个候选对象,并将排名靠前的预定数目个候选对象的属性信息反馈给分布式数据库;应用服务器被配置成,从分布式数据库获取排名靠前的预定数目个候选对象的属性信息输出。
服务器还可包括关系型数据库,例如,mysql数据库、oracle,sqlserver,db2等,被配置成同步分布式数据库中的数据。用于查询历史数据。
需要说明的是,本公开的实施例所提供的信息输出方法一般由服务器105执行,相应地,信息输出装置一般设置于服务器105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本公开的信息输出方法的一个实施例的流程200。该信息输出方法,包括以下步骤:
步骤201,响应于接收到目标类别的查询请求,抓取与目标类别相关的至少一个网页。
在本实施例中,信息输出方法的执行主体(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式从用户利用其进行信息查询的终端接收查询请求,其中,查询请求包括目标类别,例如,股票、新闻、人物画像等。可通过现有技术的爬虫工具,例如,火车头、八爪鱼等。可根据查询请求,定时爬取网页。在抓取网页时,可以通过预定条件过滤掉不符合要求的网页。
在本实施例的一些可选的实现方式中,通过scrapy框架抓取满足预定条件的至少一个网页。预定条件可根据目标类别设置,例如对于股票,则限制其财务指标(如市盈率)和技术指标(如kdj,macd)。下面以查询股票为例,讲解网页抓取流程:
搭建python工程集成scrapy框架,创建股票数据抓取schedule,定时获取中国a股市场所有交易股票的macd,kdj指标,包括个股的5分,15分,30分,60分;日级别,周级别,月级别的指标数据,实时存入redis同时异步入数据库(如mysql数据库),便于日后查询历史记录。
可以设置进行抓取的技术指标,例如kdj指标仅抓取j值小于30,k值与d值小于50的股票代码;macd抓取标准必须满足负值股票。当两者标准均满足时则加入股票备选池。市盈率仅选取0-100的股票。
scrapy可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中。其最初是为了页面抓取(更确切来说,网络抓取)所设计的,也可以应用在获取api所返回的数据(例如amazonassociateswebservices)或者通用的网络爬虫,整体结构如图3所示。
scrapy运行流程大概如下:
1.引擎从调度器中取出一个链接(url)用于接下来的抓取
2.引擎把url封装成一个请求(request)传给下载器
3.下载器把资源下载下来,并封装成应答包(response)
4.爬虫解析response
5.解析出实体(item),则交给实体管道进行进一步的处理
6.解析出的是链接(url),则把url交给调度器等待抓取。
例如,基于scrapy我们创建一个scrapy工程用于抓取个股数据信息,将数据信息url(传递给scrapy的调度器,调度器中的url被引擎封装给下载器,在执行解析前我们将创建一套数据库表来存储个股的财务和基本信息,即属性信息,也包括kdj,macd等技术指标,创建完数据存储库表后编写核心爬虫代码,以下为抓取示例:
第一步:创建爬虫工程。
第二步:创建爬虫程序:设置好数据模板后
第三步:编写核心抓取逻辑。
第四步:设置配置文件。
第五步:编写数据处理脚本。
第六步:执行爬虫。
步骤202,从至少一个网页中解析出至少一个候选对象的属性信息。
在本实施例中,属性信息可根据目标类别来确定。例如,股票的属性信息可包括财务指标(市盈率、市值等)、基本信息、技术指标(kdj、macd等)等。候选对象可以是等推荐的股票、新闻等。可将解析出的属性信息进行展示。在解析的过程中,可将不符合预定条件的属性信息过滤掉,得到至少一个候选对象的属性信息。
如果服务器采用分布式结构,如图1b所示,则可将属性信息存入分布式数据库(例如redis集群)的数据先传递给前台进行初步展示。执行爬虫成功后将数据存入分布式数据库,然后需要将筛选抓取到的个股进行更为精准的逻辑分析。因此需要将个股数据推送到mq(消息队列)中进行内容分发,通过分布式数据分析系统的逻辑处理,进行筛选。
该服务器的架构采用微服务的方式,通过分布式部署,搭建出高可用、低耦合的灵活部署体系,内置管理和性能采集协议。不依赖于第三方组件,只和broker通信。支持两阶段事务。默认数据压缩,更快的性能。支持多机房部署,降低部署成本。
该服务器的架构采用分布式部署方式。突出了如下的特点:
1、分布式事务
通过在要写入的接口做幂等设计(多次调用和单次调用是一样的效果)实现事务控制。通常可以设置一个唯一键,在写入的时候查询是否已经存在,避免重复写入。但是幂等设计的一个前提就是服务高可用,否则无论怎么重试都不能调用返回一个明确的结果,那调用方会一直等待,虽然可以限制重试的次数,但是这已经进入异常状态了,甚至到了极端情况还需要人肉补偿处理。其实根据cap和base理论,不可能在高可用分布式情况下做到一致性,一般都是最终一致性保证。
2、负载均衡
为了达到服务高可用,每个服务至少是部署两台机器。路由算法很多,有dns路由,如果session在本机,还会根据用户id或则cookie等信息路由到固定的机器,当然现在应用服务器为了扩展的方便都会设计为无状态的,session会保存到专有的session服务器,所以一般不会涉及到拿不到session问题。那路由规则可以在一定范围内随机,但是在大范围也会分为很多个域,比如如果为了保证异地多活的多机房,跨机房调用的开销太大,肯定会优先选择同机房的服务,这个要参考具体的机器分布来考虑。
3、一致性
数据被分散或者复制到不同的机器上,如何保证各台主机之间的数据一致性将成为一个难点。
4、故障的独立性
分布式系统由多个节点组成,整个分布式系统完全出问题的概率是存在的,但是在实践中出现更多的是某个节点出问题,其他节点都没问题。这种情况下我们实现分布式系统时需要考虑得更加全面些。
步骤203,对至少一个候选对象的属性信息进行筛选和排序。
在本实施例中,可根据候选对象的属性信息进行筛选和排序。例如,根据新闻的点击率筛选排序等。下面以股票为例进行介绍。可任选下列筛选策略中的一种或多种。
一:
1.按照市盈率正序(由小到大)排序(一只股票市盈率越低,市价相对于股票的盈利能力越低,表明投资回收期越短,投资风险就越小,股票的投资价值就越大;反之则结论相反。)
2.筛选市盈率小于100的标的(高于100的股票风险较高,予以排除)。
二:
1.按照个股的盘口板块分类(投资者可以根据自己的投资喜好,选取当前热门的板块或自己熟悉的板块)。
2.按照个股进行行业排名(从第三方获取)
3.将次新股(发行一年内的股票)作特殊标记。
三:
1.按照总市值进行由大到小顺序排名。
2.筛选市值小于300亿个股。
四:
1.筛选出业绩预增的标的2.按照净利润同比预增比率进行倒序(由大到小)排列
3.按照营收同比预增的比例正序(由小到大)排列。
即,按照净利润同比预增比率和营收同比预增的比例的加权和排序,其中,净利润同比预增比率越大则排名越靠前,营收同比预增的比例越小则排名越靠前。
步骤204,将排名靠前的预定数目个候选对象的属性信息输出。
在本实施例中,可根据用户选择的排序方式输出排名靠前的预定数目个候选对象的属性信息。也可将步骤203中各种排序策略的排序结果中排名靠前的预定数目个候选对象的交集作为推荐目标,输出推荐目标的属性信息。
在本实施例的一些可选的实现方式中,经过筛选和排序两步后,将同时满足多个预定条件的候选对象确定为终选对象。
以选股票为例,将获取到的股票进行满足下列条件并集的股票进入终极股票池。
①业绩预增
②总市值小于300亿
③市盈率小于100
④日线j值小于30,且k,d,j三值约等,即将金叉(kdj金叉是指以k线从下向上与d线交叉为例,k线上穿d线并形成有效的向上突破是金叉,为买入信号),或j值小于0且有上升趋势的股票,优选业绩良好且j值下破-10的股票
最后一步:将甄选出来的股票列表推送给用户,呈现方式将kdj参数,业绩凸显在显著位置。
在本实施例的一些可选的实现方式中,该方法还包括:响应于检测到股市处于上升通道,将仓位保持在预定第一范围内;若股市连续预定天内涨幅超过预定增幅,则将仓位降低至预定第二范围内。可通过获取到的网页中的趋势线来确定出是否为上升通道(熊市反弹/牛市反转)。例如,上升通道(熊市反弹/牛市反转)中仓位保持在5-10成仓,连续大涨两天可降低至2-3成仓。可输出建议加仓或减仓的信息供用户参考。也可直接控制帐户进行买卖操作。
在本实施例的一些可选的实现方式中,该方法还包括:响应于检测到股市处于下降通道,将仓位保持在预定第三范围内;若股市连续预定天内跌幅超过预定跌幅,则将仓位提高至预定第四范围内。下降通道(熊市下跌/牛市调整)中仓位保持在2-5成仓,连续大跌可提高至8-10成仓。
经过智能选股阶段我们已经可以确认可购买的备选股列表,根据个人倾向于哪些板块可适当参与三到五只个股,每只个股可依据总体仓位策略按总仓位平均布局。
其次按照kdj指标中j值的下跌逐步加仓。
例如上升备选池有xyz三只备选股。
x股j值是-1,此时买入两成x股,待下破至-10,加仓至四成。
y股j值没有下破0,则继续观望,上升则布局0.5成,待kdj三值金叉加仓至两成。
z股已经金叉,且kdj三值下破50(如k:32d:30j:35),则z股一次性买入两成
上升通道若持续性良好,可适当各加一成仓,总体满仓。
在操作完成后,xy股因为j值较低买入,至少持股2天逢高减仓或全部卖出。z股确定性最高,持股一天若已涨幅较高则减仓或清仓。
当个股的j值涨至100则减半仓,涨至110则清仓。
本公开的技术方案能带来的有益效果包括:
1、考虑用户需求的时效性,因此能保证信息推荐的及时性和精准性。
2、信息采集考虑了环境变化对于人们需求的改变,因而信息推荐灵活多变性。
3、信息集中采集,信息采集能够进行很好的总结归纳,从而应用于在其他领域,扩大了适用范围。
进一步参考图4,作为对上述各图所示方法的实现,本公开提供了一种信息输出装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例的信息输出装置400包括:抓取单元401、解析单元402、选择单元403和输出单元404。其中,抓取单元401,被配置成响应于接收到目标类别的查询请求,抓取与目标类别相关的至少一个网页;解析单元402,被配置成从至少一个网页中解析出至少一个候选对象的属性信息;选择单元403,被配置成对至少一个候选对象的属性信息进行筛选和排序;输出单元404,被配置成将排名靠前的预定数目个候选对象的属性信息输出。
在本实施例中,信息输出装置400的抓取单元401、解析单元402、选择单元403和输出单元404的具体处理可以参考图2对应实施例中的步骤201、步骤202、步骤203、步骤204。
在本实施例的一些可选的实现方式中,抓取单元401进一步被配置成:通过scrapy框架抓取满足预定条件的至少一个网页。
在本实施例的一些可选的实现方式中,解析单元402进一下被配置成:从至少一个网页中解析出至少一个对象的属性信息;将不符合预定条件的属性信息过滤掉,得到至少一个候选对象的属性信息。
在本实施例的一些可选的实现方式中,目标类别为股票,属性信息包括财务指标和技术指标;以及选择单元403进一步被配置成:筛选出市盈率小于预定市盈率阈值的股票;将过滤后的按照市盈率由小到大的顺序排序。
在本实施例的一些可选的实现方式中,目标类别为股票,属性信息包括财务指标和技术指标;以及选择单元403进一步被配置成:按照个股的盘口板块分类筛选出至少一支候选股票;将至少一支候选股票按照个股进行行业排名;将次新股作特殊标记。
在本实施例的一些可选的实现方式中,目标类别为股票,属性信息包括财务指标和技术指标;以及选择单元403进一步被配置成:筛选出市值小于预定市值阈值的股票;按照总市值由大到小的顺序排序。
在本实施例的一些可选的实现方式中,目标类别为股票,属性信息包括财务指标和技术指标;以及选择单元403进一步被配置成:筛选出业绩预增的股票;按照净利润同比预增比率和营收同比预增的比例的加权和排序,其中,净利润同比预增比率越大则排名越靠前,营收同比预增的比例越小则排名越靠前。
在本实施例的一些可选的实现方式中,选择单元403进一步被配置成:筛选出同时满足下列条件的股票:业绩预增、总市值小于预定市值阈值、市盈率小于预定市盈率阈值、kdj值满足预定条件。
在本实施例的一些可选的实现方式中,该方法还包括:响应于检测到股市处于上升通道,将仓位保持在预定第一范围内;若股市连续预定天内涨幅超过预定增幅,则将仓位降低至预定第二范围内。
在本实施例的一些可选的实现方式中,该方法还包括:响应于检测到股市处于下降通道,将仓位保持在预定第三范围内;若股市连续预定天内跌幅超过预定跌幅,则将仓位提高至预定第四范围内。
下面参考图5,其示出了适于用来实现本公开的实施例的电子设备(例如图1中的服务器)500的结构示意图。图5示出的服务器仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储装置508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
通常,以下装置可以连接至i/o接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图5中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从rom502被安装。在该计算机程序被处理装置501执行时,执行本公开的实施例的方法中限定的上述功能。需要说明的是,本公开的实施例所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:响应于接收到目标类别的查询请求,抓取与目标类别相关的至少一个网页;从至少一个网页中解析出至少一个候选对象的属性信息;对至少一个候选对象的属性信息进行筛选和排序;将排名靠前的预定数目个候选对象的属性信息输出。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括抓取单元、解析单元、选择单元、输出单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,抓取单元还可以被描述为“响应于接收到目标类别的查询请求,抓取与所述目标类别相关的至少一个网页的单元”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
1.一种信息输出方法,包括:
响应于接收到目标类别的查询请求,抓取与所述目标类别相关的至少一个网页;
从所述至少一个网页中解析出至少一个候选对象的属性信息;
对所述至少一个候选对象的属性信息进行筛选和排序;
将筛选和排序的结果输出。
2.根据权利要求1所述的方法,其中,所述将筛选和排序的结果输出,包括:
确定出排名靠前的预定数目个候选对象;
将排名靠前的预定数目个候选对象的属性信息输出。
3.根据权利要求1所述的方法,其中,所述抓取与所述目标类别相关的至少一个网页,包括:
通过scrapy框架抓取满足预定条件的至少一个网页。
4.根据权利要求1所述的方法,其中,所述从所述至少一个网页中解析出至少一个候选对象的属性信息,包括:
从所述至少一个网页中解析出至少一个对象的属性信息;
将不符合预定条件的属性信息过滤掉,得到至少一个候选对象的属性信息。
5.一种信息输出系统,包括:应用服务器、分布式数据库、分析服务器,其中,
应用服务器被配置成,响应于接收到目标类别的查询请求,抓取与所述目标类别相关的至少一个网页,从所述至少一个网页中解析出至少一个候选对象的属性信息并存储到所述分布式数据库中;
分布式数据库被配置成,将所述至少一个候选对象的属性信息推送到消息队列中,分发到分析服务器;
分析服务器被配置成,对所述至少一个候选对象的属性信息进行筛选和排序,并将筛选和排序的结果反馈给分布式数据库;
应用服务器被配置成,从分布式数据库获取排名靠前的预定数目个候选对象的属性信息输出。
6.根据权利要求5所述的系统,所述系统还包括:
关系型数据库,被配置成同步所述分布式数据库中的数据。
7.根据权利要求5所述的系统,所述分析服务器进一步被配置成:
确定出排名靠前的预定数目个候选对象,并将排名靠前的预定数目个候选对象的属性信息反馈给分布式数据库。
8.一种信息输出装置,包括:
抓取单元,被配置成响应于接收到目标类别的查询请求,抓取与所述目标类别相关的至少一个网页;
解析单元,被配置成从所述至少一个网页中解析出至少一个候选对象的属性信息;
选择单元,被配置成对所述至少一个候选对象的属性信息进行筛选和排序;
输出单元,被配置成将筛选和排序的结果输出。
9.一种用于信息输出的电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-4中任一所述的方法。
技术总结