Scrapy 可能是用得最广泛的爬虫框架了。安装 Scrapy 后,可以通过其自带的命令行完成新建项目,项目构件,运行项目等功能。但 PyCharm IDE 在 Python 编码、调试方面更有优势,因此我们也希望能在 PyCharm 中完成 Scrapy 的开发和调试。
本文使用的是 PyCharm 的社区版本(Community),该版本是免费的,可以从官网下载。Python 使用的是 Python 3.8 版。 案例使用了官方的入门案例。
安装 Scrapy
为简单起见,我们选择全局安装 Scrapy。 执行:
1 | pip install scrapy |
安装完成后,可执行:
1 | scrapy version |
系统显示安装的版本,在我这里显示的是:
1 | Scrapy 2.0.1 |
使用 PyCharm 新建一个项目
启动 PyCharm, 选择新建一个项目,命名为: tutorial。 注意:在 Create Project 对话框中,展开 Project Interpreter: New Virtualenv environment 选择,勾选 Inherit global site-package 如图:
初始化 scrapy 项目
在 PyCharm 中,打开 Terminal, 这个时候,你处在 tutorail 项目的根目录中, 可以看到以 “(venv)” 为先导的提示符, 现在执行:
1 | scrapy startproject tutorial |
scrapy 将在项目目录中根据模板建立 scrapy 应用项目的框架。完成以后,会生成类似以下的目录和文件:
1 | + tutorail |
其中,第一个 tutorial 是项目的根目录,其它的所有文件及目录都在该目录之下。 venv 是 PyCharm 建立项目时自动建立的虚拟环境目录,用来存放项目引用的其它第三方库。
新建一个 Spider
在生成的项目中,选择 tutorial 中的 spiders 文件夹,然后新建一个名为: quotes_spider.py 的文件,内容如下:
1 | import scrapy |
新建一个启动程序
因为 scrapy 本身也是用 Python 写成的,我们可以非常方便的在自己的程序中调用 scrapy 的启动 API, 在项目的根目录中新建一个名为: main.py 的文件,
1 | + tutorail |
内容如下:
1 | import scrapy |
建立项目启动配置
在 PyCharm 右上角,选择 “Edit Configuration”, 在弹出框中选择上一步新建的 main.py, 如图:
完成上述步骤以后,就可以向普通 Python 项目那样,在项目中任意 Python 文件中设置断点进行调试,开发起来比较方便。