网络爬虫服务 80legs 介绍

  • Abel Avram
  • 马国耀

2009 年 12 月 31 日

话题:架构

80legs在由 5 万台计算机构成的Plura 网格 上每天抓取 200 万网页。80legs 的 CEO,Shion Deysarkar,他们的爬虫服务的服务对象是:无能力架设大型网格系统的搜索引擎、做市场调研的公司、监控版权侵权活动的组织和监听竞争对手动向的广告公司等。

通过创建一个任务(job) 并让其执行的方式可以实现对该服务的按需访问。像所有的爬虫进程一样,该任务需要一个存放在本文中的种子(seed)列表,文件大小不能超过 1G。它的其他参数有:

  • 发出链接—— 用于从一个种子的抓取结果指定需进一步抓取的链接。
  • 深度—— 为种子(seed)限定的 URL 深度。
  • 抓取类型—— 同时多种深度或者一次一种深度
  • URL 数量—— 指定最大可抓取的 URL 数量。
  • MIME 类型—— 指定抓取的页面类型
  • 分析选项—— 有多种分析类型供选择,如关键字匹配,正则表达式匹配,运行客户程序进行分析等。

运行任务时,爬虫从起初提供的种子开始抓取 Web 页面,参考发出链接的设置,对抓取的内容进行分析。它提供了简单的分析,如指定匹配关键字 或基于正则表达式筛选信息。但是,在抓取的数据之上进行复杂分析需要由客户应用程序或预生成的 80legs 应用程序完成。分析程序只能用 Java 编写。80legs 计划设立一个应用商店,在这里开发人员可以以合理的价格出售他们的应用程序并赚得收入。80legs 还发起了一项竞赛来吸引开发者。

付费订阅提供了与爬虫引擎的 Python API 方式的访问。Perl API 正在计划之中。免费订阅者只能通过80legs 门户创建并控制任务。

80legs 提供了一项有少许限制的免费计划:一次一个任务,100k 个网页且每个网页不大小超过 100KB,10MB 上限的分析程序(Java Jar),无 API,每秒种可在搜索域中执行一次搜索。此外,它还提供了两项付费订阅方案,最好的方案提供 5 个可重复的并 发任务,10M 个网页 / 任务,10MB/ 页,10M Jar,10 次搜索 / 秒 / 搜索域,价格是 $2/ 百万网页及 3 美分 / 每 CPU 小时。


查看英文原文:80legs Is a Web Crawling Service

 

架构