[发明专利]用于下载网站数据的分布式方法和系统在审
申请号: | 201310198688.4 | 申请日: | 2013-05-24 |
公开(公告)号: | CN103475688A | 公开(公告)日: | 2013-12-25 |
发明(设计)人: | 吴自立 | 申请(专利权)人: | 北京网秦天下科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京市汉信律师事务所 11373 | 代理人: | 王文生 |
地址: | 100013 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 下载 网站 数据 分布式 方法 系统 | ||
技术领域
本发明总体上涉及分布式数据下载,更具体地涉及用于下载网站数据的分布式方法和系统。
背景技术
在当今的搜索引擎领域中,为了更快速有效地对互联网上的网页进行搜索,通常需要由搜索引擎提供商来预先从各个网站上抓取/爬取/下载(在下文中,这些术语可作为同义词互换使用)各种网页/应用程序/音频/视频等并进行分析。为了实现该网页抓取,不可避免地要用到各种网页抓取程序(也被称为网络爬虫、网络蜘蛛等,下文中统称为网络爬虫)。
现有的网络爬虫一般由一些起始地址开始下载网页,然后通过解析所下载的页面内容来决定后续爬取的页面。通常需要在爬虫程序内实现一个爬取队列,用于存放起始地址与解析出来的后续爬取地址。此外,还需要实现一个用于存放下载过的页面地址的去重过滤器,以避免重复爬取。
与单机的爬虫程序相比,可同时部署在多个节点上的分布式网络爬虫在计算机硬件资源和/或网络带宽资源的使用以及与ip、地域有关问题的处理上能够更加灵活。现有的分布式网络爬虫通常通过共享爬取队列和去重过滤器来实现。
然而,现有的爬虫系统至少存在以下问题:(1)不支持使用不同的下载配置来下载不同类型的数据;(2)其去重过滤器不支持有效期,即,其不支持对一些会更新的网页进行重复爬取;(3)不支持对爬取规则的设定以及对JavaScript(下文中简称为JS)的分析。
此外,现有的分布式爬虫系统还至少存在以下问题:(1)难以统一部署和配置,由于分布式爬虫系统通常部署在多台计算机上,因此对各个爬虫节点(模块)进行集中管理和统一配置非常困难。特别地,在需要对多个网站进行爬取的时候,常常需要在开始、停止爬取网站时登录爬虫服务器,进行修改配置、启动/停止相关进程等操作。当网站数量较大时,这些过程变得非常繁琐且容易出错;(2)难以设置针对特定网站的整体爬取间隔,通常需要控制网络爬虫对网站的访问间隔,以避免影响网站正常运转,减少对网站造成太大的负担,然而现有技术仅能在单个爬虫程序上对爬取间隔进行限制,无法将所有分布式爬虫节点作为一个整体来进行控制,换言之,尽管可以限制单个爬虫对同一网站的各自的访问频率,但是难以避免出现很多爬虫同时或几乎同时访问该同一网站的情况,在该情况下,网站的正常运转受到了突发访问高峰的干扰,严重时有可能使网站宕机或下线;以及(3)难以收集统计信息,无法直接获得分布式爬虫的总体统计信息,通常需要另外搭建一套日志系统来实现此功能。
发明内容
因此,本发明提供了至少解决上述技术问题的用于下载网站数据的分布式方法和系统。
具体地,根据本发明的第一方案,提供了一种用于下载网站数据的分布式方法。该方法包括以下步骤:a)读取起始地址列表中的一个或多个地址,并将所述一个或多个地址存入在数据库中维护的多个下载队列中的至少一个下载队列,其中,所述多个下载队列至少包括第一下载队列和第二下载队列,且各个下载队列对应于不同类型的数据;b)根据所述多个下载队列来分别下载多个类型的数据;c)从根据所述第一下载队列下载的数据中解析出要下载的后续地址;d)判断所述后续地址属于哪个下载队列;e)根据步骤d)中的判断结果,将所述后续地址存入相应下载队列中;以及f)重复上述步骤b)至e),直到满足预定条件为止。
在一些实施例中,步骤b)包括:按照在所述数据库中集中维护的针对各个网站的下载间隔,根据相应下载队列中的记录,从相应网站下载数据。
在一些实施例中,所述第一下载队列是网页下载队列,以及所述第二下载队列是应用下载队列。
在一些实施例中,针对每个要下载的网站,预定义由多个下载模块统一使用的、并针对所述网站的不同页面类型单独规定的一条或多条爬取规则。
在一些实施例中,步骤d)包括:当所述爬取规则包括指示所述后续地址的类型的第一属性时,根据所述第一属性来判断所述后续地址属于哪个下载队列。
在一些实施例中,步骤d)还包括:当所述爬取规则不包括指示所述后续地址的类型的第一属性时,判断所述后续地址属于第二下载队列。
在一些实施例中,步骤e)包括:进一步判断所述后续地址是否满足由所述爬取规则中的第二属性所定义的正则表达式,如果满足所述正则表达式,则将作为所述后续地址与所述正则表达式匹配的结果的各字符串拼接为要存入相应下载队列中的地址,否则跳过所述后续地址。
在一些实施例中,步骤c)包括:根据所述爬取规则中用于描述后续地址的字符串构成特征的第三属性,从下载的数据中解析出要下载的后续地址。
在一些实施例中,所述第三属性是xpath表达式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京网秦天下科技有限公司,未经北京网秦天下科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310198688.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:快速物料控温装置
- 下一篇:一种基于化学吸收脱除硫酰氟的装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置