一种爬虫系统及其方法

文档序号:6549312阅读:193来源:国知局
一种爬虫系统及其方法
【专利摘要】一种爬虫系统及其方法,包括带有用于动态网页的爬虫系统的爬虫节点,爬虫节点同互联网相连接,所述的互联网中包含有网站服务器,所述的网站服务器中包含有带有频道的网站,所述的爬虫节点中还包括有浏览器、用于采集结果的数据库和频道库,所述的网站服务器中还包含有频道列表信息。这样的结构结合其方法避免了现有技术中无法通过访问时间的值来控制爬虫是否继续爬取网页内容这样就极大地限制了爬虫的使用效率的缺陷。
【专利说明】一种爬虫系统及其方法
【技术领域】
[0001]本发明属于网络通信【技术领域】,具体涉及其一种爬虫系统及其方法。
[0002]【背景技术】
目前通过http协议的last-modified来判断一个网站的网页是否更新,由此可以控制爬虫是否继续爬取网页内容。但对于动态网站或者不规范的网站,该值一般为访问时间,所以无法通过此值来控制爬虫是否继续爬取网页内容,这样就极大地限制了爬虫的使用效率。

【发明内容】

[0003]本发明的目的提供一种爬虫系统及其方法,包括带有用于动态网页的爬虫系统的爬虫节点,爬虫节点同互联网相连接,所述的互联网中包含有网站服务器,所述的网站服务器中包含有带有频道的网站,所述的爬虫节点中还包括有浏览器、用于采集结果的数据库和频道库,所述的网站服务器中还包含有频道列表信息。这样的结构结合其方法避免了现有技术中无法通过访问时间的值来控制爬虫是否继续爬取网页内容这样就极大地限制了爬虫的使用效率的缺陷。
[0004]为了克服现有技术中的不足,本发明提供了一种爬虫系统及其方法的解决方案,具体如下:
一种爬虫系统,包括带有用于动态网页的爬虫系统I的爬虫节点2,爬虫节点2同互联网3相连接,所述的互联网3中包含有网站服务器4,所述的网站服务器4中包含有带有频道的网站,所述的爬虫节点2中还包括有浏览器7、用于采集结果的数据库6和频道库5,所述的网站服务器4中还包含有频道列表信息。
[0005]所述的频道库5包含有每个频道的起始URL及该频道信息的最近爬取时频道信息的最后发布日期。
[0006]所述的频道列表信息包括有发布日期条目。
[0007]所述的爬虫系统的方法,步骤如下:
步骤1:启动爬虫节点2中的用于动态网页的爬虫系统I对每个网站服务器4中的网站及频道进行统一编码,每个网站的每个频道都存在唯一标识;
步骤2:用于动态网页的爬虫系统I再从频道库中提取一个频道的起始URL及该频道信息的最近爬取时频道信息的最后发布日期,并将该频道信息的最近爬取时频道信息的最后发布日期减去一天;
步骤3:用于动态网页的爬虫系统I对该频道所在的网站服务器4发起Http请求;步骤4:该频道所在的网站服务器4接收到该Http请求后,把该频道列表信息发送回爬虫节点2,用于动态网页的爬虫系统I就取得该频道列表信息;
步骤5:用于动态网页的爬虫系统I对该频道列表信息进行分析,如果对应的发布日期条目中存在发布日期,则直接使用该频道列表信息的每条信息的发布日期与该频道的减去一天后的最后发布日期比较,如果晚于最后发布日期,则将该URL信息加入到任务信息中;步骤6:如果本页列表中最后一条信息不早于最后发布日期,用于动态网页的爬虫系统I则对该频道所在的网站服务器4发起针对下一页的http请求,返回步骤4中执行;步骤7:如果本页列表中最后一条信息早于该频道的减去一天后的最后发布日期,则该爬虫任务结束;
步骤8:如果该频道列表信息不存在发布日期这样能够绝对定位的标识,:用于动态网页的爬虫系统I则分析确定该频道列表信息的条目数N,以及该频道列表信息中的每个条目的标题信息,以此形成标题集合{titleO, titlel, title2…titltN},其中title表示标题信息,然后从用于采集结果的数据库6中按照采集时间顺序查找titleO及后续N条数据标题的数据库集合{titleOdb, titlel db, title2 db…titltN db},如果标题集合和数据库集合这两个集合的散列值相同,则结束爬取任务;如果标题集合和数据库集合这两个集合的散列值不同,则用于动态网页的爬虫系统I则对该频道所在的网站服务器4发起针对下一页的http请求,返回步骤4中执行。
[0008]应用本发明上述方案,通过控制爬虫是否继续爬取网页内容,这样就极大地提高了爬虫的使用效率。
【专利附图】

【附图说明】
[0009]图1为本发明的爬虫系统的结构示意图。
【具体实施方式】
[0010]本发明爬虫关心的主题内容为列表及列表对应的具体信息。在爬取时,主要通过列表作为爬取的入口,通过下一页来获取更多信息。因此,通过列表信息可以控制爬虫的爬取任务。对于动态网页,信息的更新主要体现在列表信息的变化。为了更好的阅读体验,信息一般以时间倒序的方式来展现。随着信息的更新,原本展现在第一页的信息会变为在第二页展现。
[0011]下面结合附图对
【发明内容】
作进一步说明:
参照图1所示,爬虫系统,包括带有用于动态网页的爬虫系统I的爬虫节点2,爬虫节点2同互联网3相连接,所述的互联网3中包含有网站服务器4,所述的网站服务器4中包含有带有频道的网站,所述的爬虫节点2中还包括有浏览器7、用于采集结果的数据库6和频道库5,所述的网站服务器4中还包含有频道列表信息。所述的频道库5包含有每个频道的起始URL及该频道信息的最近爬取时频道信息的最后发布日期。所述的频道列表信息包括有发布日期条目。
[0012]所述的爬虫系统的方法,步骤如下:
步骤1:启动爬虫节点2中的用于动态网页的爬虫系统I对每个网站服务器4中的网站及频道进行统一编码,每个网站的每个频道都存在唯一标识;
步骤2:用于动态网页的爬虫系统I再从频道库中提取一个频道的起始URL及该频道信息的最近爬取时频道信息的最后发布日期,并将该频道信息的最近爬取时频道信息的最后发布日期减去一天,由于发布日期都是日期,不包括小时分钟,为避免漏抓,扩大一天时间,因此需要减去一天;
步骤3:用于动态网页的爬虫系统I对该频道所在的网站服务器4发起Http请求;步骤4:该频道所在的网站服务器4接收到该Http请求后,把该频道列表信息发送回爬虫节点2,用于动态网页的爬虫系统I就取得该频道列表信息;
步骤5:用于动态网页的爬虫系统I对该频道列表信息进行分析,如果对应的发布日期条目中存在发布日期,则直接使用该频道列表信息的每条信息的发布日期与该频道的减去一天后的最后发布日期比较,如果晚于最后发布日期,则将该URL信息加入到任务信息中;步骤6:如果本页列表中最后一条信息不早于最后发布日期,用于动态网页的爬虫系统I则对该频道所在的网站服务器4发起针对下一页的http请求,返回步骤4中执行;步骤7:如果本页列表中最后一条信息早于该频道的减去一天后的最后发布日期,则该爬虫任务结束;
步骤8:如果该频道列表信息不存在发布日期这样能够绝对定位的标识,:用于动态网页的爬虫系统I则分析确定该频道列表信息的条目数N,以及该频道列表信息中的每个条目的标题信息,以此形成标题集合{titleO, titlel, title2…titltN},其中title表示标题信息,然后从用于采集结果的数据库6中按照采集时间顺序查找titleO及后续N条数据标题的数据库集合{titleOdb, titlel db, title2 db…titltN db},如果标题集合和数据库集合这两个集合的散列值相同,则结束爬取任务;如果标题集合和数据库集合这两个集合的散列值不同,则用于动态网页的爬虫系统I则对该频道所在的网站服务器4发起针对下一页的http请求,返回步骤 4中执行。
[0013]以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。
【权利要求】
1.一种爬虫系统,其特征在于包括带有用于动态网页的爬虫系统(I)的爬虫节点(2),爬虫节点(2)同互联网(3)相连接,所述的互联网(3)中包含有网站服务器(4),所述的网站服务器(4)中包含有带有频道的网站,所述的爬虫节点(2)中还包括有浏览器(7)、用于采集结果的数据库(6)和频道库(5),所述的网站服务器(4)中还包含有频道列表信息。
2.根据权利要求1所述的爬虫系统,其特征在于所述的频道库(5)包含有每个频道的起始URL及该频道信息的最近爬取时频道信息的最后发布日期。
3.根据权利要求2所述的爬虫系统,其特征在于所述的频道列表信息包括有发布日期条目。
4.根据权利要求3所述的爬虫系统的方法,其特征在于,步骤如下: 步骤1:启动爬虫节点(2)中的用于动态网页的爬虫系统(I)进行数据采集并把数据采集结果存储到用于采集结果的数据库(6)中,并对每个网站服务器(4)中的网站及频道进行统一编码,每个网站的每个频道都存在唯一标识; 步骤2:用于动态网页的爬虫系统(I)再从频道库中提取一个频道的起始URL及该频道信息的最近爬取时频道信息的最后发布日期,并将该频道信息的最近爬取时频道信息的最后发布日期减去一天; 步骤3:用于动态网页的爬虫系统(I)对该频道所在的网站服务器(4)发起Http请求; 步骤4:该频道所在的网站服务器(4)接收到该Http请求后,把该频道列表信息发送回爬虫节点(2),用于动态网页的爬虫系统(I)就取得该频道列表信息; 步骤5:用于动态网页的爬虫系统(I)对该频道列表信息进行分析,如果对应的发布日期条目中存在发布日期,则直接使用该频道列表信息的每条信息的发布日期与该频道的减去一天后的最后发布日期比较,如果晚于最后发布日期,则将该URL信息加入到任务信息中; 步骤6:如果本页列表中最后一条信息不早于最后发布日期,用于动态网页的爬虫系统(I)则对该频道所在的网站服务器(4)发起针对下一页的http请求,返回步骤4中执行; 步骤7:如果本页列表中最后一条信息早于该频道的减去一天后的最后发布日期,则该爬虫任务结束; 步骤8:如果该频道列表信息不存在发布日期这样能够绝对定位的标识,用于动态网页的爬虫系统(I)则分析确定该频道列表信息的条目数N,以及该频道列表信息中的每个条目的标题信息,以此形成标题集合{titleO, titlel, title2…titltN},其中title表示标题信息,然后从用于采集结果的数据库(6)中按照采集时间顺序查找titleO及后续N条数据标题的数据库集合{titleOdb, titlel db, title2 db…titltN db},如果标题集合和数据库集合这两个集合的散列值相同,则结束爬取任务;如果标题集合和数据库集合这两个集合的散列值不同,则用于动态网页的爬虫系统I则对该频道所在的网站服务器4发起针对下一页的http请求,返回步骤4中执行。
【文档编号】G06F17/30GK104008190SQ201410259561
【公开日】2014年8月27日 申请日期:2014年6月12日 优先权日:2014年6月12日
【发明者】于权 申请人:南京博识信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1