首页 > 代码库 > 淘搜索之网页抓取系统分析与实现(4)- 实现&总结

淘搜索之网页抓取系统分析与实现(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

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