CN109766501A - 爬虫协议管理方法及装置、爬虫系统 - Google Patents
爬虫协议管理方法及装置、爬虫系统 Download PDFInfo
- Publication number
- CN109766501A CN109766501A CN201910029714.8A CN201910029714A CN109766501A CN 109766501 A CN109766501 A CN 109766501A CN 201910029714 A CN201910029714 A CN 201910029714A CN 109766501 A CN109766501 A CN 109766501A
- Authority
- CN
- China
- Prior art keywords
- crawler
- agreement
- document
- website
- request
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种爬虫协议管理方法及装置,所述方法包括:获取站点的爬虫协议文件,并将所述爬虫协议文件加入消息队列中;实时监测所述消息队列,对所述消息队列中新加入的爬虫协议文件进行解析处理,得到解析后的爬虫协议文件,所述解析后的爬虫协议文件包括站点与爬虫协议的对应关系;将所述解析后的爬虫协议文件存入数据库中。本发明还提供一种爬虫系统。利用本发明,可以实现对爬虫协议的统一管理。
Description
技术领域
本发明涉及互联网领域,具体涉及一种爬虫协议管理方法及装置,还涉及一种爬虫系统。
背景技术
网络爬虫,也叫网络蜘蛛,其是根据网页的地址来寻找网页URL(UniformResource Locator,统一资源定位符)的,网络爬虫根据该URL即可获取网页信息。因为网络爬虫可从服务器爬取各种内容,由于服务器中可能存在涉及个人隐私或商业机密的内容,会给使用者和服务器管理者带来不必要的困扰与纠纷,为此业界通过robots协议(也称为爬虫协议、机器人协议等)来对其进行规范。
robots协议是网站跟爬虫间的协议,用简单直接的txt格式文本方式告诉对应的爬虫被允许的权限。当一个网络爬虫访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt文件,如果存在,网络爬虫就会按照该文件中的内容来确定访问的范围;如果该文件不存在,网络爬虫将能够访问网站上所有没有被口令保护的页面。
在现有技术中,对robots协议的解析与存储通常是集成在爬虫系统内核中,而将robots信息分布式存储到各个节点上。这种方式不利于robots信息的统一管理。
发明内容
本发明实施例一方面提供一种爬虫协议管理方法及装置,以实现对爬虫协议的统一管理。
本发明实施例另一方面提供一种爬虫系统,以提高系统对爬虫协议的处理能力。
为此,本发明提供如下技术方案:
一种爬虫协议管理方法,所述方法包括:
获取站点的爬虫协议文件,并将所述爬虫协议文件加入消息队列中;
实时监测所述消息队列,对所述消息队列中新加入的爬虫协议文件进行解析处理,得到解析后的爬虫协议文件,所述解析后的爬虫协议文件包括站点与爬虫协议的对应关系;
将所述解析后的爬虫协议文件存入数据库中。
可选地,所述方法还包括:
接收爬虫系统内核发送的抓取请求,所述抓取请求中包括待抓取站点的名称;
所述获取站点的爬虫协议文件包括:
获取所述待抓取站点的爬虫协议文件。
可选地,所述方法还包括:
接收爬虫系统内核发送的更新请求,所述更新请求中包括待更新站点的名称;
所述获取站点的爬虫协议文件包括:
获取所述待更新站点的爬虫协议文件;
所述方法还包括:
在将所述解析后的爬虫协议文件存入数据库中之前,检查所述数据库中是否已有对应当前爬虫协议文件的原解析后的爬虫协议文件,如果是,则将当前解析后的爬虫协议文件替换所述原解析后的爬虫协议文件。
可选地,所述爬虫系统内核定时发送所述更新请求;或者所述爬虫系统内核在收到站点的更新通知后发送所述更新请求。
可选地,所述方法还包括:
接收所述爬虫系统内核发送的判断请求,所述判断请求中包括URL信息;
从所述数据库中查找所述URL对应的站点的爬虫协议文件;
根据查找到的爬虫协议文件判断所述URL对应的网页是否可以抓取,并向所述爬虫系统内核返回判断结果。
可选地,所述方法还包括:
接收所述爬虫系统内核发送的查询请求,所述查询请求中包括待查询站点的主机信息;
从所述数据库中获取所述主机所属站点对应的爬虫协议文件;
将获取的爬虫协议文件返回给所述爬虫系统内核。
一种爬虫协议管理装置,所述装置包括:管理模块、搜索蜘蛛模块、消息处理模块、数据库;
所述管理模块用于向所述搜索蜘蛛模块发送协议获取请求,所述协议获取请求中包括站点的名称;
所述搜索蜘蛛模块用于在接收到所述协议获取请求后,获取所述站点的爬虫协议文件,并将所述爬虫协议文件加入消息队列中;
所述消息处理模块用于实时监测所述消息队列,对所述消息队列中新加入的爬虫协议文件进行解析处理,得到解析后的爬虫协议文件,将所述解析后的爬虫协议文件存入所述数据库中;所述解析后的爬虫协议文件包括站点与爬虫协议文件的对应关系。
可选地,所述管理模块在接收到爬虫系统内核发送的抓取请求后,向所述搜索蜘蛛模块发送所述协议获取请求,所述抓取请求中包括待抓取站点的名称。
可选地,所述管理模块还用于在接收到所述爬虫系统内核发送的更新请求后,向所述搜索蜘蛛模块发送所述协议获取请求,所述更新请求中包括待更新站点的名称;
所述消息处理模块还用于将所述解析后的爬虫协议文件存入所述数据库中时,检查所述数据库中是否已有对应当前爬虫协议文件的原解析后的爬虫协议文件,如果是,则将当前解析后的爬虫协议文件替换所述原解析后的爬虫协议文件。
可选地,所述爬虫系统内核定时向所述管理模块发送所述更新请求;或者所述爬虫系统内核在收到站点的更新通知后向所述管理模块发送所述更新请求。
可选地,所述管理模块还用于接收所述爬虫系统内核发送的判断请求,所述判断请求中包括URL信息;从所述数据库中查找所述URL对应的站点的爬虫协议文件,根据查找到的爬虫协议文件判断所述URL对应的网页是否可以抓取,并向所述爬虫系统内核返回判断结果。
可选地,所述管理模块还用于接收所述爬虫系统内核发送的查询请求,所述查询请求中包括待查询站点的主机信息,从所述数据库中查找所述主机所属站点对应的爬虫协议文件,并将所述爬虫协议文件返回给所述爬虫系统内核。
一种爬虫系统,其特征在于,所述系统包括:一个或多个如前面所述的爬虫协议文件管理装置,不同爬虫协议文件管理装置用于对不同站点的爬虫协议文件进行并行管理。
一种电子设备,包括:一个或多个处理器、存储器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现前面所述的方法。
一种可读存储介质,其上存储有指令,所述指令被执行以实现前面所述的方法。
本发明实施例提供的爬虫协议管理方法及装置,将对爬虫协议文件的管理独立成为一个单独的服务,对各站点的爬虫协议文件进行统一的管理与操作。具体地,将获取的各站点的爬虫协议文件加入消息队列,并实时监测所述消息队列,一旦监测到所述消息队列中有新加入的爬虫协议文件,则对其进行解析处理,并将解析后的爬虫协议文件保存到数据库中。
利用本发明实施例提供的爬虫协议管理方法及装置,不仅可以实现对各站点爬虫协议文件的统一管理,而且可以实现对外提供查询、更新、验证即判断某个URL对应的网页是否可以抓取等服务。
本发明实施例提供的爬虫系统,可以由多个不同的爬虫协议文件管理装置分别对不同站点的爬虫协议文件进行并行管理,大大提高了系统对爬虫协议的处理能力。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本发明实施例爬虫协议管理方法的一种流程图;
图2是本发明实施例爬虫协议管理方法的另一种流程图;
图3是本发明实施例爬虫协议管理装置的一种结构框图;
图4是根据一示例性实施例示出的一种用于输入方法的装置的框图;
图5是本发明实施例中服务器的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
本发明实施例提供一种爬虫协议管理方法及装置,将对爬虫协议文件的管理独立成为一个单独的服务,对各站点的爬虫协议文件进行统一的管理与操作。具体地,将获取的各站点的爬虫协议文件加入消息队列,并实时监测所述消息队列,一旦监测到所述消息队列中有新加入的爬虫协议文件,则对其进行解析处理,并将解析后的爬虫协议文件保存到数据库中。
如图1所示,是本发明实施例爬虫协议管理方法的一种流程图,包括以下步骤:
步骤101,获取站点的爬虫协议文件,并将所述爬虫协议文件加入消息队列中。
所述站点可以是爬虫系统需要爬取的站点,比如,爬虫系统在访问一个站点时,需要检查该站点根目录下是否存在robots.txt文件。如果存在,则需要获取该文件,并对其进行解析。
相应地,在该实施例中,可以是在接收到爬虫系统内核发送的抓取请求后,获取站点的爬虫协议文件。在所述抓取请求中包括待抓取站点的名称,当然,获取的是所述抓取请求中指示的待抓取站点的爬虫协议文件。
也就是说,上述获取站点的爬虫协议文件的操作可以由爬虫系统内核来触发。
如果该站点没有设置爬虫协议文件,则可以向所述爬虫系统返回其它非爬虫协议相关信息,比如http状态码,所述http状态码是用以表示网页服务器超文本传输协议响应状态的3位数字代码。
步骤102,实时监测所述消息队列,对所述消息队列中新加入的爬虫协议文件进行解析处理,得到解析后的爬虫协议文件,所述解析后的爬虫协议文件包括站点与爬虫协议的对应关系。
在本发明实施例中,所述消息队列是一个有序队列,消息队列中的爬虫协议文件依照时间的先后顺序进出,也就是说,依照先进先出原则,先进入消息队列的爬虫协议文件会被先处理,爬虫协议文件被处理后即被移出所述消息队列。
对爬虫协议文件的解析处理主要是指对其进行一些格式的转换,比如,对爬虫协议文件进行解析、序列化处理等操作,将其转换为JSON(Java Script Object Notation,JS对象简谱)格式或者正则表达式等形式。
所述解析后的爬虫协议文件包括站点与爬虫协议的对应关系。
步骤103,将所述解析后的爬虫协议文件存入数据库中。
需要说明的是,在实际应用中,还可以将所述爬虫协议文件即robots.txt文件一起存入所述数据库中,比如,可以采用如下形式的存储结构:
Robots:{host:www.xxx.com;robots}。
另外,还可以对存入的爬虫协议文件标记时间标签和/或版本标签,以区分针对同一站点的不同时间或版本的robots.txt文件,比如,可以采用如下形式的存储结构:
Robots:{host:www.xxx.com;robots1:........;robots2:...........robotsn:.......}。
当然,在所述数据库中也可以只保存对应每个站点的最新robots.txt文件,对此本发明实施例不做限定。
在实际应用中,还可以将所述解析后的爬虫协议文件主动反馈给所述爬虫系统内核,当然,也可以根据所述爬虫系统内核的请求进行反馈,对此本发明实施例不做限定。
本发明实施例提供的爬虫协议管理方法,将对爬虫协议文件的管理独立成为一个单独的服务,使其独立于爬虫系统内核,对各站点的爬虫协议文件进行统一的管理与操作。而且,利用消息队列可以使对不同站点的爬虫协议进行异步处理,有效地提高了处理效率及性能。
由于各站点网页内容不断更新变化,相应地,爬虫系统也会定时或不定时地重新爬取各站点的网页内容。而每个站点的爬虫协议通常是较稳定的,不会频繁地发生变化。因此,在实际应用中,爬虫系统可以不用每次爬取某个站点时都要从该站点根目录下获取robots.txt文件,而是记录已爬取过的站点信息,如果需要重新爬取该站点,则从本地数据库中获取相应站点的robots.txt文件,进而根据该robots.txt文件来确定被允许的权限。
相应地,在本发明爬虫协议管理方法另一实施例中,还可以向爬虫系统提供查询服务。具体地,所述查询服务的流程包括:接收爬虫系统内核发送的查询请求,所述查询请求中包括待查询站点的主机信息;从数据库中获取所述主机所属站点对应的爬虫协议文件;将获取的爬虫协议文件返回给所述爬虫系统内核。
前面提到,可以在所述数据库中保存对应一个站点的多个不同时间或版本的robots.txt文件,并加以时间标签和/或版本标签进行区分。相应地,在所述查询请求中,还可以进一步包括所述时间标签和/或版本标签,这样,根据所述时间标签和/或版本标签,向所述爬虫系统内核返回相应的robots.txt文件。当然,如果所述查询请求中未包含所述时间标签和/或版本标签,可以向所述爬虫系统内核返回所述主机所属站点对应的全部或最新的robots.txt文件。当然,不同爬虫系统爬取站点的方式可能会有所不同,如果爬虫系统不记录已爬取过的站点信息,也可以在每次爬取一个站点时,先向提供查询服务的功能模块发送所述查询请求,如果所述数据库中没有所述主机所属站点对应的爬虫协议文件,提供查询服务的功能模块可以向所述爬虫系统内核返回查询失败消息,所述爬虫系统内核在收到所述查询失败消息后,再检查相应站点根目录下是否存在robots.txt文件,如果存在,再向本服务发送所述抓取请求。本服务接收到所述抓取请求后,执行上述步骤101至步骤103的操作。
进一步地,利用本发明方案,还可以实现对外提供更新、验证即判断某个URL对应的网页是否可以抓取等服务。
如图2所示,是本发明实施例爬虫协议管理方法的另一种流程图,包括以下步骤:
步骤201,接收爬虫系统内核发送的更新请求,所述更新请求中包括待更新站点的名称。
所述更新请求可以是所述爬虫系统内核定时发送的,具体地,所述爬虫系统内核对已经爬取过的站点的爬虫协议定时更新,比如每周一次,以便在站点的爬虫协议作了调整后能够及时得到更新后的协议内容。
所述更新请求也可以是所述爬虫系统内核在收到站点的更新通知后发送的。
步骤202,获取所述待更新站点的爬虫协议文件,并将所述爬虫协议文件加入消息队列中。
步骤203,实时监测所述消息队列,对所述消息队列中新加入的爬虫协议文件进行解析处理,得到解析后的爬虫协议文件。
步骤204,检查所述数据库中是否已有对应当前爬虫协议文件的原解析后的爬虫协议文件;如果是,执行步骤205;否则,执行步骤206。
对应当前爬虫协议文件的原解析后的爬虫协议文件可以根据当前爬虫协议文件对应的站点来查找,也就是说,所述原解析后的爬虫协议文件与所述当前爬虫协议文件是对应同一站点的爬虫协议文件。
步骤205,将当前解析后的爬虫协议文件替换所述原解析后的爬虫协议文件。
步骤206,将当前解析后的爬虫协议文件存入数据库中。
利用该实施例的爬虫协议管理方法,可以对外提供更新服务,使各站点在有robots.txt文件更新后,使爬虫系统可以及时得到更新后的robots.txt文件,进而根据该robots.txt文件来确定自己被允许的权限。
进一步地,在本发明爬虫协议管理方法另一实施例中,所述方法还可包括以下各步骤:
接收爬虫系统内核发送的判断请求,所述判断请求中包括URL信息;
从所述数据库中查找所述URL对应的站点的爬虫协议文件;
根据查找到的爬虫协议文件判断所述URL对应的网页是否可以抓取,并向所述爬虫系统内核返回判断结果。
比如,所述爬虫系统在需要访问某个URL时,向提供查询服务的功能模块发送所述判断请求,以确定是否可以访问该URL。相应地,提供查询服务的功能模块根据所述数据库中保存的各站点解析后的爬虫协议文件进行判断,向所述爬虫系统返回判断结果。
当然,如果所述数据库中没有所述URL对应的站点的爬虫协议文件,比如所述爬虫系统之前未访问过该站点,在这种情况下,可以向所述爬虫系统返回判断失败消息,以使所述爬虫系统做出进一步地处理。
本发明实施例提供的爬虫协议管理方法,将对爬虫协议文件的管理独立成为一个单独的服务应用,使其独立于爬虫系统内核,因此可以应用于现有的各种不同爬虫系统中,实现对各站点爬虫协议文件的统一管理,而且可以实现对外提供查询、更新、验证等服务。另外,在实际应用中,对于一个爬虫系统,还可以设置多个所述的服务应用,这些服务应用并行处理所述爬虫系统内的爬虫协议文件,可以更好地提高处理效率。
需要说明的是,在本发明实施例提供的爬虫协议管理方法应用于不同的爬虫系统时,可以根据所述爬虫系统的具体实现方法对本发明方案做一些适应性的调整、变化等,这些调整、变化等不应作为对本发明方法保护范围的限制。
相应地,本发明实施例还提供一种爬虫协议管理装置,如图3所示,是该装置的一种结构示意图。
在该实施例中,所述装置包括:管理模块301、搜索蜘蛛模块302、消息处理模块303、数据库304。其中:
所述管理模块301用于向所述搜索蜘蛛模块302发送协议获取请求,所述协议获取请求中包括站点的名称;
所述搜索蜘蛛模块302用于在接收到所述协议获取请求后,获取所述站点的爬虫协议文件,并将所述爬虫协议文件加入消息队列中;
所述消息处理模块303用于实时监测所述消息队列,对所述消息队列中新加入的爬虫协议文件进行解析处理,得到解析后的爬虫协议文件,将所述解析后的爬虫协议文件存入所述数据库304中;所述解析后的爬虫协议文件包括站点与爬虫协议文件的对应关系。
本发明实施例提供的爬虫协议管理装置,将对爬虫协议文件的管理独立成为一个单独的服务,使其独立于爬虫系统内核,对各站点的爬虫协议文件进行统一的管理与操作。
上述管理模块301是本发明爬虫协议管理装置与爬虫系统内核交互的接口,也就是说,爬虫系统内核所需要的与爬虫协议文件处理有关的所有操作均可向所述管理模块301发送相应的请求,所述管理模块301根据该请求完成相应的操作,并将结果返回给所述爬虫系统内核。
比如,所述管理模块301在接收到爬虫系统内核发送的抓取请求后,向所述搜索蜘蛛模块发送协议获取请求,所述抓取请求中包括待抓取站点的名称。相应地,所述搜索蜘蛛模块302获取所述待抓取站点的爬虫协议文件,并将所述爬虫协议文件加入所述消息队列中。
再比如,所述管理模块301在接收到所述爬虫系统内核发送的更新请求后,向所述搜索蜘蛛模块302发送协议获取请求,所述更新请求中包括待更新站点的名称。相应地,所述搜索蜘蛛模块302获取所述待更新站点的爬虫协议文件,并将所述爬虫协议文件加入所述消息队列中。
需要说明的是,所述搜索蜘蛛模块302和所述消息处理模块303对所述消息队列的操作,即将爬虫协议加入消息队列中以及对所述消息队列中爬虫协议的解析处理,是异步进行的,即所述搜索蜘蛛模块302和所述消息处理模块303对所述消息队列的操作独立进行。利用所述消息队列,有效地提高了爬虫协议文件处理的效率及性能。而且,可以解决不同应用之间的耦合。另外,在有大量爬虫协议文件涌入时,先将爬虫协议文件存入消息队列,大大减小了对后端处理的各模块的压力,使得后端处理的各模块单位时间内处理消息数量趋于稳定。
进一步地,利用本发明爬虫协议管理装置,还可以实现对外提供查询、更新、验证等服务。
比如,在本发明爬虫协议管理装置另一实施例中,所述爬虫系统内核还可以向所述管理模块301发送查询请求,所述查询请求中包括待查询站点的主机信息。相应地,所述管理模块301在接收到所述查询请求后,从所述数据库中查找所述主机所属站点对应的爬虫协议文件,并将所述爬虫协议文件返回给所述爬虫系统内核。
当然,如果所述数据库中没有所述主机所属站点对应的爬虫协议文件,所述管理模块301还可以向所述爬虫系统内核返回查询失败消息。相应地,所述爬虫系统内核在收到所述查询失败消息后,再检查相应站点根目录下是否存在robots.txt文件,如果存在,再向所述管理模块301发送抓取请求。
在本发明爬虫协议管理装置另一实施例中,所述爬虫系统内核还可以向所述管理模块301发送更新请求,所述更新请求中包括待更新站点的名称。比如,所述爬虫系统内核定时向所述管理模块301发送所述更新请求;或者所述爬虫系统内核在收到站点的更新通知后向所述管理模块301发送所述更新请求。
相应地,所述管理模块301在接收到所述爬虫系统内核发送的更新请求后,向所述搜索蜘蛛模块302发送协议获取请求,所述协议获取请求中包括所述待更新站点的名称;所述搜索蜘蛛模块302获取所述待更新站点的爬虫协议文件,并将所述爬虫协议文件加入消息队列中。
相应地,所述消息处理模块303在将所述解析后的爬虫协议文件存入所述数据库中时,还可以先检查所述数据库中是否已有对应当前爬虫协议文件的原解析后的爬虫协议文件;如果是,则将当前解析后的爬虫协议文件替换所述原解析后的爬虫协议文件;否则将当前解析后的爬虫协议文件存入数据库中。
在本发明爬虫协议管理装置另一实施例中,所述爬虫系统内核还可以向所述管理模块301发送判断请求,所述判断请求中包括URL信息。
相应地,所述管理模块301在接收到所述判断请求后,从所述数据库中查找所述URL对应的站点的爬虫协议文件,根据查找到的爬虫协议文件判断所述URL对应的网页是否可以抓取,并向所述爬虫系统内核返回判断结果。当然,如果所述数据库中没有所述URL对应的站点的爬虫协议文件,比如所述爬虫系统之前未访问过该站点,在这种情况下,所述管理模块301可以向所述爬虫系统内核返回判断失败消息,以使所述爬虫系统内核做出进一步地处理。
本发明实施例提供的爬虫协议管理装置,将对爬虫协议文件的管理独立成为一个单独的服务,使其独立于爬虫系统内核,因此可以应用于现有的各种不同爬虫系统中,实现对各站点爬虫协议文件的统一管理,而且可以实现对外提供查询、更新、验证等服务。
需要说明的是,在本发明实施例提供的爬虫协议管理装置应用于不同的爬虫系统时,可以根据所述爬虫系统的具体实现方法对本发明方案做一些适应性的调整、变化等,这些调整、变化等不应作为对本发明方法保护范围的限制。
本发明实施例提供的爬虫协议管理装置,采用分布式结构,在实际应用中,不仅可以对其中的各模块进行独立部署,而且可以根据实际应用场景需求,动态调节各个模块的副本数,从而提高本发明爬虫协议管理装置的灵活性与吞吐量。
本发明实施例提供的爬虫协议管理装置,可以应用于爬虫系统中并独立于爬虫系统内核,比如,在本发明实施例提供的一种爬虫系统中,可以部署一个或多个上述各实施例中的爬虫协议文件管理装置,实现对多个不同站点的爬虫协议文件的并行管理。由于本发明实施例提供的爬虫协议管理装置采用分布式结构,而且不依赖爬虫系统内核,因此不仅大大丰富了爬虫系统的功能,而且有效地提高了爬虫系统的灵活性与吞吐量。
图4是根据一示例性实施例示出的一种用于爬虫协议管理方法的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图4,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理部件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类别的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类别的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件806为装置800的各种组件提供电力。电力组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述按键误触纠错方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本发明还提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行上述本发明方法实施例中的全部或部分步骤。
图5是本发明实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种爬虫协议管理方法,其特征在于,所述方法包括:
获取站点的爬虫协议文件,并将所述爬虫协议文件加入消息队列中;
实时监测所述消息队列,对所述消息队列中新加入的爬虫协议文件进行解析处理,得到解析后的爬虫协议文件,所述解析后的爬虫协议文件包括站点与爬虫协议的对应关系;
将所述解析后的爬虫协议文件存入数据库中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收爬虫系统内核发送的抓取请求,所述抓取请求中包括待抓取站点的名称;
所述获取站点的爬虫协议文件包括:
获取所述待抓取站点的爬虫协议文件。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收爬虫系统内核发送的更新请求,所述更新请求中包括待更新站点的名称;
所述获取站点的爬虫协议文件包括:
获取所述待更新站点的爬虫协议文件;
所述方法还包括:
在将所述解析后的爬虫协议文件存入数据库中之前,检查所述数据库中是否已有对应当前爬虫协议文件的原解析后的爬虫协议文件,如果是,则将当前解析后的爬虫协议文件替换所述原解析后的爬虫协议文件。
4.根据权利要求3所述的方法,其特征在于,
所述爬虫系统内核定时发送所述更新请求;或者
所述爬虫系统内核在收到站点的更新通知后发送所述更新请求。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
接收所述爬虫系统内核发送的判断请求,所述判断请求中包括URL信息;
从所述数据库中查找所述URL对应的站点的爬虫协议文件;
根据查找到的爬虫协议文件判断所述URL对应的网页是否可以抓取,并向所述爬虫系统内核返回判断结果。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
接收所述爬虫系统内核发送的查询请求,所述查询请求中包括待查询站点的主机信息;
从所述数据库中获取所述主机所属站点对应的爬虫协议文件;
将获取的爬虫协议文件返回给所述爬虫系统内核。
7.一种爬虫协议管理装置,其特征在于,所述装置包括:管理模块、搜索蜘蛛模块、消息处理模块、数据库;
所述管理模块用于向所述搜索蜘蛛模块发送协议获取请求,所述协议获取请求中包括站点的名称;
所述搜索蜘蛛模块用于在接收到所述协议获取请求后,获取所述站点的爬虫协议文件,并将所述爬虫协议文件加入消息队列中;
所述消息处理模块用于实时监测所述消息队列,对所述消息队列中新加入的爬虫协议文件进行解析处理,得到解析后的爬虫协议文件,将所述解析后的爬虫协议文件存入所述数据库中;所述解析后的爬虫协议文件包括站点与爬虫协议文件的对应关系。
8.一种爬虫系统,其特征在于,所述系统包括:一个或多个如权利要求7所述的爬虫协议文件管理装置,不同爬虫协议文件管理装置用于对不同站点的爬虫协议文件进行并行管理。
9.一种电子设备,其特征在于,包括:一个或多个处理器、存储器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现如权利要求1至6任一项所述的方法。
10.一种可读存储介质,其上存储有指令,所述指令被执行以实现如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910029714.8A CN109766501B (zh) | 2019-01-14 | 2019-01-14 | 爬虫协议管理方法及装置、爬虫系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910029714.8A CN109766501B (zh) | 2019-01-14 | 2019-01-14 | 爬虫协议管理方法及装置、爬虫系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109766501A true CN109766501A (zh) | 2019-05-17 |
CN109766501B CN109766501B (zh) | 2021-08-17 |
Family
ID=66453676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910029714.8A Active CN109766501B (zh) | 2019-01-14 | 2019-01-14 | 爬虫协议管理方法及装置、爬虫系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109766501B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131504A (zh) * | 2020-08-28 | 2020-12-25 | 长沙市到家悠享网络科技有限公司 | 一种网页编辑、展示方法、装置、设备以及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101211340A (zh) * | 2006-12-29 | 2008-07-02 | 上海芯盛电子科技有限公司 | 基于客户端/服务端结构的动态网络爬行器 |
CN101561814A (zh) * | 2009-05-08 | 2009-10-21 | 华中科技大学 | 基于社会标注的主题爬虫系统 |
CN102063477A (zh) * | 2010-12-13 | 2011-05-18 | 百度在线网络技术(北京)有限公司 | 一种网站数据抓取装置及方法 |
US20120028577A1 (en) * | 2010-07-09 | 2012-02-02 | Rodriguez Tony R | Mobile devices and methods employing haptics |
WO2012018313A1 (en) * | 2010-08-05 | 2012-02-09 | Nortel Networks Netas Telekomunikasyon Anonim Sirketi | A method and system for hosting instant messaging robots |
US20120246139A1 (en) * | 2010-10-21 | 2012-09-27 | Bindu Rama Rao | System and method for resume, yearbook and report generation based on webcrawling and specialized data collection |
CN103218431A (zh) * | 2013-04-10 | 2013-07-24 | 金军 | 一种能识别网页信息自动采集的系统与方法 |
CN105260388A (zh) * | 2015-09-11 | 2016-01-20 | 广州极数宝数据服务有限公司 | 一种分布式垂直爬虫服务系统的优化方法 |
CN106126688A (zh) * | 2016-06-29 | 2016-11-16 | 厦门趣处网络科技有限公司 | 基于web内容和结构挖掘的智能网络信息采集系统、方法 |
CN106599160A (zh) * | 2016-12-08 | 2017-04-26 | 网帅科技(北京)有限公司 | 一种内容规则库管理系统及其编码方法 |
US9734513B1 (en) * | 2012-10-16 | 2017-08-15 | Alexander F. Mehr | System and method for advertising applications to users without requiring the applications to be installed |
-
2019
- 2019-01-14 CN CN201910029714.8A patent/CN109766501B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101211340A (zh) * | 2006-12-29 | 2008-07-02 | 上海芯盛电子科技有限公司 | 基于客户端/服务端结构的动态网络爬行器 |
CN101561814A (zh) * | 2009-05-08 | 2009-10-21 | 华中科技大学 | 基于社会标注的主题爬虫系统 |
US20120028577A1 (en) * | 2010-07-09 | 2012-02-02 | Rodriguez Tony R | Mobile devices and methods employing haptics |
WO2012018313A1 (en) * | 2010-08-05 | 2012-02-09 | Nortel Networks Netas Telekomunikasyon Anonim Sirketi | A method and system for hosting instant messaging robots |
US20120246139A1 (en) * | 2010-10-21 | 2012-09-27 | Bindu Rama Rao | System and method for resume, yearbook and report generation based on webcrawling and specialized data collection |
CN102063477A (zh) * | 2010-12-13 | 2011-05-18 | 百度在线网络技术(北京)有限公司 | 一种网站数据抓取装置及方法 |
US9734513B1 (en) * | 2012-10-16 | 2017-08-15 | Alexander F. Mehr | System and method for advertising applications to users without requiring the applications to be installed |
CN103218431A (zh) * | 2013-04-10 | 2013-07-24 | 金军 | 一种能识别网页信息自动采集的系统与方法 |
CN105260388A (zh) * | 2015-09-11 | 2016-01-20 | 广州极数宝数据服务有限公司 | 一种分布式垂直爬虫服务系统的优化方法 |
CN106126688A (zh) * | 2016-06-29 | 2016-11-16 | 厦门趣处网络科技有限公司 | 基于web内容和结构挖掘的智能网络信息采集系统、方法 |
CN106599160A (zh) * | 2016-12-08 | 2017-04-26 | 网帅科技(北京)有限公司 | 一种内容规则库管理系统及其编码方法 |
Non-Patent Citations (2)
Title |
---|
DEEPAK KUMAR 等: "Deep Web Performance Enhance on Search Engine", 《2015 INTERNATIONAL CONFERENCE ON SOFT COMPUTING TECHNIQUES AND IMPLEMENTATIONS》 * |
段兵营: "搜索引擎中网络爬虫的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131504A (zh) * | 2020-08-28 | 2020-12-25 | 长沙市到家悠享网络科技有限公司 | 一种网页编辑、展示方法、装置、设备以及存储介质 |
CN112131504B (zh) * | 2020-08-28 | 2024-03-26 | 长沙市到家悠享网络科技有限公司 | 一种网页编辑、展示方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109766501B (zh) | 2021-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10506056B2 (en) | Methods, apparatuses, and computer program products for providing filtered services and content based on user context | |
KR101917070B1 (ko) | 이동 단말기, 서버, 시스템, 이동 단말기 및 서버의 제어 방법 | |
US9135664B2 (en) | Method and apparatus for granting rights for content on a network service | |
US9807218B2 (en) | Method for filtering spam in electronic device and the electronic device | |
JP6062608B2 (ja) | ウェブページアクセス方法、装置、サーバ、端末、プログラム、及び記録媒体 | |
CN104159275A (zh) | 网络连接方法及装置 | |
CN107750466A (zh) | 使用经同步的提示信号配对附近设备 | |
CN105824958A (zh) | 一种查询日志的方法、装置和系统 | |
CN110489626A (zh) | 一种信息采集方法和装置 | |
KR102078570B1 (ko) | 휴대 단말기에서 사용자 행위 정보를 제공하는 장치 및 방법 | |
CN111597542B (zh) | 验证信息共享方法、装置及电子设备及存储介质 | |
CN105183513A (zh) | 应用推荐方法和装置 | |
CN104125162B (zh) | 网络资源的访问处理方法及装置 | |
KR101852244B1 (ko) | 추천정보 획득방법, 단말기, 서버, 프로그램 및 기록매체 | |
CN104035995A (zh) | 群标签生成方法及装置 | |
CN106201610A (zh) | Web应用访问终端原生功能的方法及装置 | |
CN104111979A (zh) | 搜索推荐方法和装置 | |
CN109246227A (zh) | 一种数据请求方法、装置、终端设备及存储介质 | |
CN109032491A (zh) | 数据处理方法、装置以及移动终端 | |
KR101777035B1 (ko) | 주소 필터링 방법, 장치, 프로그램 및 기록매체 | |
JP7187491B2 (ja) | 情報表示方法、装置及び媒体 | |
CN106790915B (zh) | 号码识别控制方法、装置及相应的服务器和移动终端 | |
CN104050236B (zh) | 网站内容更新提示方法、服务器和客户端 | |
RU2607983C2 (ru) | Способ обновления регистрации услуг, устройство, серверная и клиентская стороны | |
CN105808767A (zh) | 数据更新方法及装置 |
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 |