Scrapy框架(一)
一,安装
1)Scrapy官方文档:http://doc.scrapy.org/en/latest
2) Scrapy中文文档: http://scrapychs.readthedocs.io/zh_CN/latest/index.html
注意:
- 在ubuntu上安装scrapy之前,需要安装以下依赖:
sudo apt-get install python3-dev build-essential python3-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev,然后再通过pip install scrapy 安装 - 如果在windows系统下,提示这个错误ModuleNotF
oundError:No mdule named ‘win32api’,那么使用以下命令可以解决:
pip install pypiwin32 - 如果安装的时候提示twisted安装有问题,那么可以先找这个网站下载twisted的whl文件:https://www.lfd.uci.edu/~gohlke/pythonlibs/,下载完成后,在使用pip install xxx.whl安装
二,架构
- Scrapy Engine(引擎):Scrapy框架的核心部分,负责在Spider和ItemPipeline、Scheduler中间通信、传递数据。
- Spider(爬虫):发送需要爬去的连接给引擎,最后引擎把其他模块请求回来的数据在发送给爬虫,爬虫就去解析想要的数据,因为需要我们自己决定。
- Scheduler(调度器):负责接收引擎发送过来的请求,并按照一定的方式进行排列和整理,负责调度请求的顺序。
- Downloader(下载器):负责接受引擎传过来的下载请求,然后去网络上下载对应数据在交还给引擎。
- Item Pipeline(管道):负责Spider(爬虫)传递过来的数据进行保存。
- Downloader Middlewares(下载中间件):可以扩展下载器和引擎之间的通信功能的中间件。
- Spider Middlewares(Spider中间件):可以扩展引擎和爬虫之间通信功能的中间件。
三,项目
- 创建项目:
要使用Scrapy框架创建项目,需要通过命令来创建,首先进入到你想把这个项目存放的目录,然后使用以下命令:
scrapy startproject[项目名称]
创建爬虫:
scrapy genspider[爬虫名称][爬虫作用的域名]
目录结构介绍:
items.py:用来存放爬虫爬取下来数据模型。
middlewares.py: 用来存放各种中间件的文件。
pipelines:用来将items的模型存储到本地磁盘中。
setting.py:本爬虫的一些配置信息(比如请求头、多久发送一次请求、ip代理池)
scrapy.cfg:项目配置文件。
spliders包:以后所有的爬虫,都是存放到这里面。