<aside> 📢

在本篇笔记中,我将展示基于爬虫框架Scrapy来对Quotes中的名人名言以及某工管理学院官网中的教师信息进行批量爬取。

</aside>

本次爬取的学习素材和思路来自崔庆才编著的Python3WebSpider以及上次挖的坑。

一、Quotes中的名人名言爬取

在使用Scrapy框架进行网页爬取之前,我们首先需要在本地安装好Scrapy这个库,具体的安装和配置教程各大平台均有,这里我便不再赘述。

1.使用命令行创建Scrapy项目

由于Scrapy框架和我们之前讲过的Pyspider框架不同,它通过命令行工具来进行项目的创建,具体的爬取逻辑仍然需要借助计算机中的编程环境(IDE),最后通过命令行进行爬取操作的指令输入。

我们首先打开本地命令行的窗口并将路径切换为自己想要创建的项目位置(我这里将项目创建至D盘):

image.png

接着在命令行窗口输入如下命令以创建一个名为quotes_project的项目,命令行会出现如下所示的界面:

scrapy startproject quotes_project

image.png

我们打开电脑D盘,会发现此时已经生成了一个名为quotes_project的文件夹,其目录结构如下所示:

1

1

2

2

3

3

4

4

接下来需要在项目文件夹中生成一个Spider,Spider是我们自己定义的一个类,它在Scrapy中用于从网页中抓取所需要的内容并进行解析。但是这个类必须继承Scrapy提供的scrapy.Spider类,我们需要自己定义Spider的名称、初始请求以及如何处理爬取之后结果的方法。

我们现在通过命令行语句来创建一个Spider(注意要满足格式要求:scrapy genspider example example.com)。

cd quotes_project
scrapy genspider quotes <https://quotes.toscrape.com/>

image.png

我们此时会发现项目文件夹中的子文件夹spiders中生成了一个名为“quotes.py”的文件。

image.png