一个小型的网页抓取系统的架构设计

简介:

一个小型的网页抓取系统的架构设计

        

    网页抓取服务是互联网中的经常使用服务。在搜索引擎中spider(网页抓取爬虫)是必需的核心服务。搜索引擎的衡量指标“多、快、准、新”四个指标中,多、快、新都是对spider的要求。搜索引擎公司比方google、baidu都维护者自己负责的spider系统。

当然他们的系统非常复杂,在这里我们介绍一个小型的网页抓取系统的架构,目标是高速的抓取某个或者几个指定的站点的数据。它的作用有非常多。比方做竞品分析,还有其它不可告人的J。

         以下这个小型的网页抓取系统,分成以下几个部分:

         1)网页种子文件,这个里面配置要抓取的链接是我们抓取服务的起点。

         2)链接池,链接的FIFO队列,种子的link会先入这个队列。

         3)抓取线程,从链接池中获取链接。并下载网页生成的网页数据放到网页池。

         4)网页池,网页的FIFO队列,抓取的网页都会进入到这个pool;

         5) 抽取线程是系统的核心,它负责依据配置的模板抽取网页中指定的链接与数据,将抽取到个格式化数据入到抽取线程,将抽取出来的新的链接放到链接库;

         6)调度线程,负责链接的调度策略,将选择合适的链接放到链接池队列。

系统架构例如以下:





本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5235536.html,如需转载请自行联系原作者

相关文章
|
12天前
|
Ubuntu Linux
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
118 3
|
13天前
|
设计模式 存储 前端开发
揭秘.NET架构设计模式:如何构建坚不可摧的系统?掌握这些,让你的项目无懈可击!
【8月更文挑战第28天】在软件开发中,设计模式是解决常见问题的经典方案,助力构建可维护、可扩展的系统。本文探讨了.NET中三种关键架构设计模式:MVC、依赖注入与仓储模式,并提供了示例代码。MVC通过模型、视图和控制器分离关注点;依赖注入则通过外部管理组件依赖提升复用性和可测性;仓储模式则统一数据访问接口,分离数据逻辑与业务逻辑。掌握这些模式有助于开发者优化系统架构,提升软件质量。
29 5
|
16天前
|
存储 API 持续交付
探索微服务架构:构建灵活、可扩展的后端系统
【8月更文挑战第25天】 本文将引导您理解微服务架构的核心概念,探讨其对现代后端系统设计的影响。我们将从基础讲起,逐步深入到微服务的高级应用,旨在启发读者思考如何利用微服务原则优化后端开发实践。
37 4
|
17天前
|
消息中间件 运维 监控
核心系统转型问题之经典单元化架构如何解决
核心系统转型问题之经典单元化架构如何解决
|
15天前
|
运维 Cloud Native 容灾
核心系统转型问题之单元化架构对于自研可控场景该如何支持
核心系统转型问题之单元化架构对于自研可控场景该如何支持
|
15天前
|
Cloud Native 安全 中间件
核心系统转型问题之云原生架构下的基础资源设施应重点考虑什么方面
核心系统转型问题之云原生架构下的基础资源设施应重点考虑什么方面
|
17天前
|
负载均衡 Cloud Native 中间件
核心系统转型问题之微服务架构并存的问题如何解决
核心系统转型问题之微服务架构并存的问题如何解决
|
17天前
|
弹性计算 Cloud Native Windows
核心系统转型问题之核心系统需要转型到云原生分布式架构的原因如何解决
核心系统转型问题之核心系统需要转型到云原生分布式架构的原因如何解决
|
18天前
|
存储 监控 安全
大数据架构设计原则:构建高效、可扩展与安全的数据生态系统
【8月更文挑战第23天】大数据架构设计是一个复杂而系统的工程,需要综合考虑业务需求、技术选型、安全合规等多个方面。遵循上述设计原则,可以帮助企业构建出既高效又安全的大数据生态系统,为业务创新和决策支持提供强有力的支撑。随着技术的不断发展和业务需求的不断变化,持续优化和调整大数据架构也将成为一项持续的工作。
|
21天前
|
Java Docker 微服务
微服务架构已成为Java Web开发的新趋势,它通过将应用分解为独立、可部署的服务单元,提升了系统的灵活性与可维护性。
微服务架构已成为Java Web开发的新趋势,它通过将应用分解为独立、可部署的服务单元,提升了系统的灵活性与可维护性。每个服务负责特定功能,通过轻量通信机制协作。利用Spring Boot与Spring Cloud等框架可简化开发流程,支持模块化设计、独立部署、技术多样性和容错性,适应快速迭代的需求。
59 1

热门文章

最新文章

下一篇
DDNS