新浪微博分布式爬虫系统简介
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Leabharlann Baidu
微博分布式爬虫
主从模式任务调出层次清晰,便于集中控制分布式爬虫节 点,实现相对简单。
新浪微博爬虫系统采用主从管理模式。 为合理利用节点资源将爬虫框架中相对消耗资源的配 置模块、网页抓取模块、网页解析模块由节点功能实现,便 于集中管理的URL去重模块和网页数据存储迁移至中心服务 器。 同时结合新浪微博服务类型,采用基于分类器架构的 主题抓取策略。开发固定的爬虫主题,修改系统配置模块, 过滤与主题无关的URL,针对性抽取有效数据。提高数据抓 取效率。
用户通过设计实现系统的5个模块,一般可以实现单 机的网页数据采集。
微博分布式爬虫
新浪微博开放平台在数据开放方便存在诸多限制。 API访问次数及数量受限。 网站流量统计及时间窗口统计的网站反爬虫策略日益 严格。
解决方法:
分布式网络爬虫系统。
微博分布式爬虫
分布式网络爬虫可以看做由多个单点网络爬虫组合,通过 通信,协同实现数据抓取。 主从模式、自治模式、混合模式
系统爬取结果
微博转发抓取测试: 160万转发列表,125个并行抓取节点,列表任务完成 时间<50min。
任 务 监 控
任务下发 报错反馈 结果上传及 解析存储 系统管理主模块
任务调 度数据 库—多级 缓存
任 务 下 发
系统调度管理
结合新浪微博特征、网站反爬虫策略及分布式主题爬虫特点, 新浪微博任务调度系统设计实现了针对性的管理调度策略。 节点管理 统计节点机器的操作系统、MAC、IP地域信息、任务 成功百分比、最新通信时间等节点属性数据。 用于统一管理节点,区分高危节点和安全节点,合理 分配爬虫任务。 帐号管理 统计帐号可用性及使用时长,记录帐号的地域属性信 息。 为不同地区的节点分配相应帐号,并对已分配帐号的 节点固定分配对应帐号,防止帐号更换节点登录。
系统调度管理
任务管理 设置任务的超时时间、下发时间、当前状态、重做阈 值、对应节点等信息。 通过监控任务状态流 程,统计任务完成情况。任 务超时重发和节点任务成功 信息想结合,保证任务完成 的时效性和正确性。
微博爬虫任务优化
新浪微博由于任务本身的特殊属性,在任务抓取过程中需要 对长任务微博进行一定规则拆分和组合,或者对连续抓取任 务进行合理时间下发,提高任务抓取效率。 微博常见可并行长任务 1.基于时间划分的微博搜索任务。(时间段划分) 2.单用户的海量微博抓取任务。(页面划分) 3.高转发、评论量微博转发、评论抓取任务。(页面 划分) 关键字连续抓取任务 任务结果解析的同时,生成新任务。根据抓取结果数, 合理分配任务时间间隔。
微博分布式爬虫
爬虫节点框架结构
URL拼接 与抓取 任务获取 帐 号 登 录 模 块 主题1 数 据 抽 取 及 页 面 检 验
任 务 识 别
主题2 主题3 主题4 主题分类抓取模块
数 据 打 包 上 传
微博分布式爬虫
系统中心服务器结构
帐号下发
SQL及相关 过滤策略
网 络 请 求
P H P 参 数 接 收
新浪微博分布式爬虫系统 简介
胡庆宝
2014.04.01
报告内容
网络爬虫 微博分布式爬虫 系统调度管理 微博爬虫任务优化
网络爬虫
网络爬虫是一种按照一定的规则,通常通过模拟用户 浏览网页的方式,自动的抓取万维网信息的程序或者 脚本。 爬虫系统基本结构分为5个模块 配置模块,URL去重模块,网页抓取模块,网页解析 模块,存储网页模块
微博分布式爬虫
主从模式任务调出层次清晰,便于集中控制分布式爬虫节 点,实现相对简单。
新浪微博爬虫系统采用主从管理模式。 为合理利用节点资源将爬虫框架中相对消耗资源的配 置模块、网页抓取模块、网页解析模块由节点功能实现,便 于集中管理的URL去重模块和网页数据存储迁移至中心服务 器。 同时结合新浪微博服务类型,采用基于分类器架构的 主题抓取策略。开发固定的爬虫主题,修改系统配置模块, 过滤与主题无关的URL,针对性抽取有效数据。提高数据抓 取效率。
用户通过设计实现系统的5个模块,一般可以实现单 机的网页数据采集。
微博分布式爬虫
新浪微博开放平台在数据开放方便存在诸多限制。 API访问次数及数量受限。 网站流量统计及时间窗口统计的网站反爬虫策略日益 严格。
解决方法:
分布式网络爬虫系统。
微博分布式爬虫
分布式网络爬虫可以看做由多个单点网络爬虫组合,通过 通信,协同实现数据抓取。 主从模式、自治模式、混合模式
系统爬取结果
微博转发抓取测试: 160万转发列表,125个并行抓取节点,列表任务完成 时间<50min。
任 务 监 控
任务下发 报错反馈 结果上传及 解析存储 系统管理主模块
任务调 度数据 库—多级 缓存
任 务 下 发
系统调度管理
结合新浪微博特征、网站反爬虫策略及分布式主题爬虫特点, 新浪微博任务调度系统设计实现了针对性的管理调度策略。 节点管理 统计节点机器的操作系统、MAC、IP地域信息、任务 成功百分比、最新通信时间等节点属性数据。 用于统一管理节点,区分高危节点和安全节点,合理 分配爬虫任务。 帐号管理 统计帐号可用性及使用时长,记录帐号的地域属性信 息。 为不同地区的节点分配相应帐号,并对已分配帐号的 节点固定分配对应帐号,防止帐号更换节点登录。
系统调度管理
任务管理 设置任务的超时时间、下发时间、当前状态、重做阈 值、对应节点等信息。 通过监控任务状态流 程,统计任务完成情况。任 务超时重发和节点任务成功 信息想结合,保证任务完成 的时效性和正确性。
微博爬虫任务优化
新浪微博由于任务本身的特殊属性,在任务抓取过程中需要 对长任务微博进行一定规则拆分和组合,或者对连续抓取任 务进行合理时间下发,提高任务抓取效率。 微博常见可并行长任务 1.基于时间划分的微博搜索任务。(时间段划分) 2.单用户的海量微博抓取任务。(页面划分) 3.高转发、评论量微博转发、评论抓取任务。(页面 划分) 关键字连续抓取任务 任务结果解析的同时,生成新任务。根据抓取结果数, 合理分配任务时间间隔。
微博分布式爬虫
爬虫节点框架结构
URL拼接 与抓取 任务获取 帐 号 登 录 模 块 主题1 数 据 抽 取 及 页 面 检 验
任 务 识 别
主题2 主题3 主题4 主题分类抓取模块
数 据 打 包 上 传
微博分布式爬虫
系统中心服务器结构
帐号下发
SQL及相关 过滤策略
网 络 请 求
P H P 参 数 接 收
新浪微博分布式爬虫系统 简介
胡庆宝
2014.04.01
报告内容
网络爬虫 微博分布式爬虫 系统调度管理 微博爬虫任务优化
网络爬虫
网络爬虫是一种按照一定的规则,通常通过模拟用户 浏览网页的方式,自动的抓取万维网信息的程序或者 脚本。 爬虫系统基本结构分为5个模块 配置模块,URL去重模块,网页抓取模块,网页解析 模块,存储网页模块