1. Scrapy 介绍
经常发现使用python编写爬虫的相关文章,可以使用urllib2便可以简单的实现(Python爬虫入门三之Urllib库的基本使用),当然如果涉及到更进阶的东西比如爬取时的网站认证、内容的分析处理、重复抓取、分布式爬取等等也时间很复杂的事。所以实现一个鲁棒,功能丰富的爬虫也并不是容易的事。
本着不重复造轮子的原则,在google上或通过GitHub可以检索到相关并成熟的针对网站爬取的框架,Scrapy就是最著名并被广泛认可与使用的框架之一,源码托管在GitHub上。
源代码
Scrapy官网
官方文档对其详细描述:
“Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。”
2. 知识准备以及相关资料
看完介绍便可以确定你对它是否存在需求。笔者也是对网络爬虫感兴趣,慢慢接触Scrapy并决定写一系列教程。关于爬虫学习曲线,曾经在知乎上发现一篇文章,现转载过来:作者:谢科 问题:Python 爬虫如何入门学习?
需要学习的内容:
- 基本的爬虫工作原理
- 基本的http抓取工具,scrapy
- Bloom Filter
- 如果需要大规模网页抓取,你需要学习分布式爬虫的概念。其实没那么玄乎,你只要学会怎样维护一个所有集群机器能够有效分享的分布式队列就好。最简单的实现是python-redis
- redis和Scrapy的结合:Scrapy-redis
- 后续处理,网页析取:Python-goose,存储:Mongodb
入门资料
- 学习Scrapy入门
- Scrapy 1.0.5 文档
- Redis快速入门
- Python教程 廖雪峰
- Xpath教程
- Python正则表达式
- Bloom Filter(布隆过滤器)的概念和原理
- 基于Redis的Bloomfilter去重(附Python代码)
3. Scrapy 安装
Linux安装
直接通过命令安装:pip install scrapy
Windows安装
Windows安装Scrapy教程Scrapy文档安装指南