什么是Scrapy
Scrapy是一个为了爬取网站数据,提供数据结构而编写的应用框架,我们只需要实现少量的代码,就能够快速的抓取。
Scrapy使用了Twisted异步网络框架,可以加速我们的下载速度。
Scrapy入门
1.环境
- 操作系统:windows10
- python版本:python3.7,必须使用Anaconda,目前是Anaconda5.3.1。下载地址:https://www.anaconda.com/download/。 下载64位的安装包。scrapy依赖的类库比较多,使用Anaconda会将相关的依赖的类库都安装好,并且版本保持一致。
- pycharm:pycharm2019.3.2。
2.安装Anaconda
安装好Anaconda之后,将下面的变量加入到系统环境变量中
e:\Anaconda3;e:\Anaconda3\Library\mingw-w64\bin;e:\Anaconda3\Library\usr\bin;e:\Anaconda3\Library\bin;e:\Anaconda3\Scripts;
或者安装过程中,勾选Add Anaconda to my PATH environment variable,可自动添加至环境变量。
Anaconda的下载及其一些相关配置可参考Anaconda清华镜像站
3.创建项目
- 打开pycharm创建一个新项目
这里选择Anacoda3下面的python.exe(默认版本3.7)。
- 然后在pycharm中打开终端,执行pip install scrapy
- 在当前项目目录下执行,scrapy startproject myspider
如果你的项目中出现了myspider包及若干文件,那么恭喜你,这一步,我们的环境搭建已经成功,那么接下来,让我们开始进入Scrapy的爬虫之旅吧!
4.生成一个爬虫
cd myspider 切换至myspider目录
scrapy genspider xiaofeilong baidu.com
其中xiaofeilong 是你的爬虫名称 baidu.com是爬虫的范围,设置仅允许在这个域名下爬取内容。
命令执行完成之后,可以看到spider包下生成了一个xiaofeilong.py的文件打开可以看到:
这里start_urls是你要爬取的网页,我这里选择爬取百度新闻中的内容
下面的parse函数就是如何去处理这个url,比如你可以在这里使用xpath进行匹配。
启动爬虫
scrapy crawl xiaofeilong
后面的参数是你的爬虫名称
注:爬虫启动需要在你的项目文件夹下执行,我这里是myspider
执行完成之后我们可以看到控制台输出一大坨内容,开始的内容是一些日志信息,如果我们不想看到这些日志信息,那么我们可以修改settings.py如图
设置这个内容后,控制台只会输入错误信息。
再执行一下我们可以看到控制台输出了我们爬取的内容。
结语
到此我们的Scrapy入门已经学习完毕,我们不难看出,这个框架非常方便我们去执行爬虫项目,在以后不断对该框架学习中我们还可以慢慢掌握聚焦爬虫,分布式爬虫等高级爬虫。奥力给~加油哦!