基本的概念:
- scrapy是一个爬取网站数据,提取结构性数据而编写的应用框架,它是基于Twisted的框架,而Twisted框架我们可以理解为异步爬取的高效率的一个框架,可以加快我们的爬取速度。
- 所谓的同步异步,我是这样理解的:假如说我们要爬取3个URL的内容,同步我们就是要依次去爬取这三个网站的内容, 即一个网站爬取成功以后才能开始爬取第二个网站,在爬取某一个网站时,我们不能进行其他操作,此时我们称这种状态为阻塞状态。而异步,我们在爬取第一个网站时,不等第一个网站数据下载完毕,就可以开启第二个网站的请求,以此类推,不等第二个网站的数据下载完毕,就可以开启第三个请求…用两张图显示同步和异步的区别:
同步:
异步:
- scrapy的工作流程,可以用下面这幅图来概括:
- 各个模块的作用:
- scrapy爬取数据的过程:
-
1.创建一个scrapy项目,我是用的环境是pycharm,在pycharm的终端输入以下指令创建项目:
scrapy startproject mySpider
其中mySpider是项目的名称,可以根据自己的需求去取。
-
2.生成一个爬虫,首先一定要在终端使用指令
cd mySpider
然后再使用指令:
scrapy genspider spiderName spider-domain
其中spiderName是指你得爬虫叫什么名字,可以根据自己的需求去取,而spider-domain是指你的爬虫活动的域名范围,即你想让你的爬虫在哪个域名范围下爬取数据。 -
3.提取数据:在spider中,使用xpath等方法进行数据解析
-
4.保存数据:在pipeline中保存数据
-
截图如下:
-