淘搜索之网页抓取系统分析与实现- 实现&总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了淘搜索之网页抓取系统分析与实现- 实现&总结相关的知识,希望对你有一定的参考价值。
以一淘搜索的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
以上是关于淘搜索之网页抓取系统分析与实现- 实现&总结的主要内容,如果未能解决你的问题,请参考以下文章
http协议请求实战——get请求示例之抓取百度搜索关键词对应网页信息