• 淘搜索之网页抓取系统分析与实现(4)- 实现&总结



    以一淘搜索的crawler为核心展开的分析到此基本结束了,除了django和mysql部分没有涉及,其它部分都进行了test,尤其是围绕crawler,所展开的分析和实现主要有:

    1. 分布式crawler与分布式pipeline处理。

    使用scrapy+redis实现,用到了scrapy+scrapy-redis。关于自己相关代码也在fork的repo做了探索与实现。

    2. javascript rendering content处理。

    使用scrapy+webkit+jswebkit+gtk。用到了scrapyjs,但是这是一种非异步阻塞的方式,其它可选splash.

    -----------------------------------------------------------------------------------------

    今天下午又研究了下scrapy抓取js内容,发现了scrapy+selenium的解决方案,而selenium提供了丰富的api去模拟用户的行为,这样js rendered content的获取就不再话下了。

    相关的资料放在收藏夹中。

    其实不论是哪种方式,核心都是模拟浏览器和用户的行为。

    3. 防止被ban策略扩展。

    实现了两个可重用组件proxy.py和useragentmiddle.py放在了blog-crawler中。

    4.其它

    其它关于crawler的研究有的放在了Scrapy专栏中。

    在这个过程中接触到、学到、用到的东西:

    主要是对开源框架、项目的学习与深入。怎样根据这些东西定制自己需要实现的功能,怎样在开源项目没有直观example的情况下分析实现自己的example。另外还有很实用的照葫芦画瓢的能力。
    最核心的是认真分析doc,从而实现。


    其中参考到的文章与PPT,主要来自searchtb.com:

    定向抓取漫谈
    快速构建实时抓取集群 
    一淘网offline系统简介 
    一淘网技术简介
    Redis内存存储结构分析
    淘宝摘星-爬虫(在shareslide上,需FQ)

    转载自:http://blog.csdn.net/u012150179/article/details/38227079#t1

  • 相关阅读:
    mysql 主从配置 读写分离
    interface接口
    http结构
    call_user_func函数
    pcntl_fork 进程
    数据库事务
    php 之 ob缓冲
    shell脚本
    php 守护进程
    ssdb zset
  • 原文地址:https://www.cnblogs.com/lmsj/p/6504788.html
Copyright © 2020-2023  润新知