Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

摘星

6,152 views

Published on

摘星系统

  • Be the first to comment

摘星

  1. 1. 手可摘星辰——摘星 霜天 搜索与算法技术 - 引擎开发组 03/08/11
  2. 2. 爬虫面临的问题与瓶颈 <ul><li>1. 路径黑洞 </li></ul><ul><li>* 京东, yoka 等筛选框。 </li></ul><ul><li>* 网站 URL 规则模糊。 </li></ul><ul><li>* 死链的发现,数据的更新 </li></ul><ul><li>2.JS/Ajax </li></ul><ul><li>* 京东书籍的价格 JS 展示 </li></ul><ul><li>* 当当描述的 Ajax 动态加载 </li></ul><ul><li>3. 图片价格文字 </li></ul><ul><li>* 噪音问题 </li></ul><ul><li>* 图片描述 </li></ul><ul><li>4. 系统的一些瓶颈,存储,动态 IP </li></ul>03/08/11
  3. 3. 摘星 SCRAPY+MYSQL+RADIS+WEBKIT <ul><li>Part 1 </li></ul>03/08/11
  4. 4. Webkit 介绍 <ul><li>1.PYQT ,一个轻量级的基于 webkit 内核的 Python 调用的浏览器。 </li></ul><ul><li>2. 通过实例化一个 webkit 对象,设置加载参数,然后去请求一个 URL 等待请求完毕时,可以从主框架( mainframe )里取得加载完毕后的 HTML 源码。这个源码基本上和 chrome 浏览器解析出来的一致,通过设置关闭图片请求,弹窗可以加快加载速度。 </li></ul><ul><li>3. 问题:基于 ajax 的异步请求目前还无法解决。 </li></ul>03/08/11
  5. 5. Scrapy 介绍 <ul><li>Scrapy 是一个基于 Twisted 框架用 Python 编写的单机爬虫系统。 </li></ul><ul><li>1. 调度 :调度的改进通过 redis 在线下计算。 </li></ul><ul><li>2. 下载 :基于插件形式的下载,可以自定义添加下载中间件,处理方法。 </li></ul><ul><li>3. 管道 :可以把解析的字段定位到输出的接口里。这里只有针对详情页用到了 pipeline 。 </li></ul>03/08/11
  6. 6. Scrapy 介绍 03/08/11
  7. 7. 摘星架构 03/08/11 Scrapy Scrapy Scrapy Scrapy Scrapy WebkitServer MySQL DB Scrapy OfflineServer Redis server Redis server Schdule Django Internet
  8. 8. 摘星 Redis 存储架构 03/08/11
  9. 9. 摘星 OfflineServer 03/08/11 Field_list Scrapy MySQL DB Field_set OfflineServer TFS OCR
  10. 10. 摘星 WebkitServer 03/08/11 WebkitServer browser browser browser browser browser http://127.0.0.1:9090/ s?url=xxxxx
  11. 11. Redis 介绍 <ul><li>1. Redis : 一个高性能的基于 Key-value 的存储系统。 </li></ul><ul><li>2. 数据类型: Strings , Lists , Sets , Hash </li></ul><ul><li>3. 功能: Sharding , master/slave 复制, VM , AOF </li></ul><ul><li>3 . 性能:写的速度 110000 次 /s ,读的速度 81000 次 /s (官方数据) </li></ul><ul><li>4. 应用:摘星链接库存储引擎,摘星调度系统存储引擎 </li></ul>03/08/11
  12. 12. 摘星链接库存储 <ul><li>1. 部署: 8 台 24G 阿里云机器(复用) </li></ul><ul><li>2. 状态 : 目前 5.2G/ 台 </li></ul><ul><li>daemonize yes </li></ul><ul><li>pidfile /home/admin/spider/redis_url_db/run/master_redis.pid </li></ul><ul><li>port 6380 </li></ul><ul><li>timeout 300 </li></ul><ul><li>loglevel verbose </li></ul><ul><li>logfile /home/admin/spider/redis_url_db/logs/master_redis.log </li></ul><ul><li>databases 16 </li></ul><ul><li>save 900 1 </li></ul><ul><li>rdbcompression yes </li></ul><ul><li>dbfilename /home/admin/spider/redis_url_db/data/master_dump.rdb </li></ul><ul><li>dir /home/admin/spider/redis_url_db/ </li></ul><ul><li>appendonly no </li></ul><ul><li>appendfsync everysec </li></ul><ul><li>vm-enabled yes </li></ul><ul><li>vm-swap-file /home/admin/spider/redis_url_db/data/master.swap </li></ul><ul><li>vm-max-memory 8gb </li></ul><ul><li>vm-page-size 32 </li></ul><ul><li>vm-pages 134217728 </li></ul><ul><li>vm-max-threads 8 </li></ul><ul><li>glueoutputbuf yes </li></ul><ul><li>hash-max-zipmap-entries 64 </li></ul><ul><li>hash-max-zipmap-value 512 </li></ul><ul><li>activerehashing yes </li></ul>03/08/11
  13. 13. 摘星链接库存储 <ul><li>1. 部署: 8 台 24G 阿里云机器(复用) </li></ul><ul><li>2. 状态 : 目前 2.9G/ 台 </li></ul><ul><li>detail:1882113 </li></ul><ul><li>list:12760922 </li></ul><ul><li>detail + list + new = 93638507 </li></ul>03/08/11
  14. 14. 摘星 一期调度策略 03/08/11 key detail_finish_set list_finish_set list_refresh_url_candidate_list detail_refresh_url_candidate_list candidate_detail candidate_list url_store
  15. 15. 摘星 二期调度策略 03/08/11 list_finish_set list_refresh_url_candidate_list list_new_url_candidate_list url_store module
  16. 16. 淘宝摘星前端页面 120.0.28.114 03/08/11
  17. 17. 网站配置列表 03/08/11
  18. 18. 网站配置 界面 03/08/11
  19. 19. 实时数据显示 03/08/11
  20. 20. 小小展望与总结 03/08/11
  21. 21. Thank you for listening~ 小敏 Email : [email_address] 03/08/11

×