EtaoSpider系统简介 黑 侠
个人简介 真名:谢振亮 2004年天津大学计算机系研究生毕业 2004年加入百度网页抓取团队 2010年加入Etao搜索技术团队 EtaoSpider团队负责人
提纲 EtaoSpider要解决什么问题 主要面临哪些困难 如何解决这些困难 未来的规划与展望
EtaoSpider要解决什么问题 为Etao搜索抓取和挖掘商品相关信息
EtaoSpider要解决什么问题
如何评价抓取系统 Spider核心指标 覆盖率 Etao 覆盖B2C站点商品的百分比 更新率 Etao 上B2C商品信息的正确率
如何评价抓取系统 目标 覆盖率 = 进索引商品数/商品链接总数 索引价格/库存错误 未进索引 索引价格/ 库存正确 更新率 = 按Query采集 按站点采集 索引价格/库存错误 未进索引 索引价格/ 库存正确 目标 覆盖率 >99% 价格更新率>99% 库存更新率>99% 更新率 = 索引信息正确数/进索引商品数
系统架构 抓取 抽取 压力控制 附件 调度 数据库 提链 种子 DUMP
面临哪些困难 压力计算 流量分配 Js/登录/交互 站点改版 模板失效 信息不对称/归一化 抓取 抽取 垃圾控制 重复挖掘 调度 数据库 提链 预测/发现变化 更新不及时 新商品发现 DUMP 时效性
如何解决 —— 调度问题 全体数据 变化数据 用户可见 列表页更新/监控 浅层热门挖掘 如意淘反馈 易变商品挖掘 购物车更新 点击展现反馈
如何解决 —— 抓取问题 多样化抓取器 JS直接抓取 JS渲染优化 icontent(txt) cookie Webkit X图形渲染优化 跳过图片和CSS 跳过跨域请求
如何解决 —— 流量分配 Weight倒序 Weight倒序 Weight倒序 GET 队列 CHK 队列 CHKLIST 队列 30% 90% 80% 80% 80%
如何解决 —— 流量分配 App Queue App Selector App Queue App Queue App Selector IP queue App Selector … App Queue Register/Unregister …… App Queue IP queue App Selector … App Queue Register/Unregister
如何解决 —— 模版问题 模版抽取(xpath) 易用配置工具 鲁棒性 监控与反馈 成功率监控 重要字段监控 考虑索引稳定性
如何解决 —— 垃圾控制 垃圾链接 黑洞、登录、空白、操作(投票、回帖)等 带无效参数的链接 泛滥的列表页 处理方法 发现:页面识别,无效参数挖掘,泛滥列表页挖掘 聚类:垃圾Pattern 上线:Pattern应用到提链和全局清理 保护:浅层、上线链接保护;Pattern定期验证 监控:日志和报表
如何解决 —— 时效性问题 HBase(全网商品库) HQueue Dump Service Dump Job 问天搜索引擎 HQueue 商品入库/更新 HBase(全网商品库) 增量更新事件 HQueue Coprocessor Dump Service Dump Job 问天搜索引擎 实时消息 HQueue 全量XML文件 Coprocessor 定期增量XML文件 XML文件 文件索引 Index Build Job 索引文件
EtaoSpider 的未来 开放抓取服务(OpenCrawl)
未来规划 —— 开放抓取 App Crawl Service Node 1 Node 2 Node n-1 Node n Web
未来规划 —— 开放抓取 各业务垂直抓取需求 Spider接入平台 模版 报表 种子 数据 Hbase Extract Service Crawl Service Selector
Q & A Thanks!