Scrapy快速入门系列(2) | 简单一文教你学会如何安装Scrapy并创建项目(超级详细哦!)

2020-10-28 17:23:11 浏览数 (1)

声明:官方文档有很详细的安装过程,本博主只是使其能够令读者能够更好的理解。

官方文档地址:https://docs.scrapy.org/en/latest/intro/install.html#intro-install

官方GitHub地址:https://github.com/scrapy/scrapy/blob/2.3/docs/intro/install.rst

Scrapy需要使用Python 3.5.2 ,或者CPython实现(默认)或PyPy 5.9 实现。

小知识(如果懂此部分可自行略过此部分,如果使新手可以适当了解): ① 什么使Cpython?

  • CPython:这是Python的官方版本,使用C语言实现,使用最为广泛,新的语言特性一般也最先出现在这里。
  • CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
  • 同时CPython是一种被广泛使用的python解释器,类似的解释器还有pypy,JPython等等

② PyPy是用Python实现的Python解释器。

一. 为什么推荐Anaconda或Miniconda?[此处为官方文档的解释,但是博主不建议使用此方式]

  如果你使用的是AnacondaMiniconda,则可以从conda- forge渠道安装该软件包,该渠道包含适用于Linux,Windows和macOS的最新软件包。

  • 如果要使用conda安装Scrapy,请运行:
代码语言:javascript复制
conda install -c conda-forge scrapy
  • 如果您已经熟悉Python软件包的安装,则可以使用以下方法从PyPI安装Scrapy及其依赖项
代码语言:javascript复制
pip install Scrapy

  在此需要注意的是,在有些时候,可能需要解决某些Scrapy依赖项的编译问题,这些具体取决与每个人的操作系统。因此在安装Scrapy时,请务必查看特定的平台的安装说明。

平台特定的安装说明(Platform specific installation notes)

1.1 Windows

  在Windows中尽管可以使用pip安装Scrapy,但是仍然建议安装Anaconda或Miniconda并使用conda - forge渠道中的软件包 ,这将避免大多数安装问题。

  在安装安装Anaconda或Miniconda后,请使用以下方法安装Scrapy

代码语言:javascript复制
conda install -c conda-forge scrapy

1.2 Ubuntu(14.04或更高版本)

  目前,Scrapy已使用最新版本的lxmltwistedpyOpenSSL进行了测试,并且与最新的Ubuntu发行版兼容。尽管在Ubuntu 14.04中存在TLS连接的潜在问题,但是它也应该支持Ubuntu的较早版本。

不要使用Ubuntu提供的python-scrapy软件包,它们通常版本太旧且下载太慢,无法赶上最新的Scrapy。

  • 如果要在Ubuntu(或基于Ubuntu的)系统上安装Scrapy,您需要安装以下依赖项:
代码语言:javascript复制
sudo apt-get install python3 python3-dev python3-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev
  • python3-devzlib1g-devlibxml2-devlibxslt1-devlxml所需要的
  • libssl-devlibffi-devcryptography所必须的
  • virtualenv内部,你可以pip安装Scrapy
代码语言:javascript复制
pip install scrapy

注意: 可以使用相同的非Python依赖项在Debian Jessie(8.0)及更高版本中安装Scrapy

1.3 为什么推荐使用虚拟环境?

TL; DR:建议在所有平台上的虚拟环境中安装Scrapy。

Python软件包可以全局安装(也称为系统范围),也可以安装在用户空间中。但是并不建议在整个系统中安装Scrapy。

在所谓的“虚拟环境”(venv)中安装Scrapy 。虚拟环境能够尽可能减少与已经安装的Python系统软件包不冲突(但这可能会破坏某些系统工具和脚本),并且仍然可以正常安装软件包pip(不带sudo类似的东西)。

  • 1. 虚拟环境的简单介绍

Python应用程序通常会使用标准库中未包含的软件包和模块。应用程序有时会需要特定版本的库,因为应用程序可能需要修复特定的错误,或者使用库接口的过时版本来编写应用程序。

这意味着一个Python安装可能无法满足每个应用程序的要求。

如果应用程序A需要特定模块的版本1.0,而应用程序B需要版本2.0,则这些要求存在冲突,并且安装版本1.0或2.0将使一个应用程序无法运行。

解决此问题的方法是创建一个虚拟环境,这是一个独立的目录树,其中包含针对特定版本的Python的Python安装以及许多其他软件包。

然后,不同的应用程序可以使用不同的虚拟环境。为了解决需求冲突的早期示例,应用程序A可以拥有自己的虚拟环境,安装了1.0版,而应用程序B拥有另一个虚拟环境,具有2.0版。如果应用程序B需要将库升级到版本3.0,则不会影响应用程序A的环境。

  • 2. 创建虚拟环境(venv)

用于创建和管理虚拟环境的模块称为 venv。 venv通常会安装可用的最新版本的Python。如果您的系统上有多个Python版本,则可以通过运行python3或所需的任意版本来选择特定的Python版本。

要创建虚拟环境,请确定要放置虚拟目录的位置,然后venv使用目录路径作为脚本运行模块:

代码语言:javascript复制
python3 -m venv tutorial-env

tutorial-env如果该目录不存在,它将创建一个目录,并在其中创建包含Python解释器,标准库和各种支持文件的副本的目录。

虚拟环境的通用目录位置是.venv。该名称通常使目录隐藏在您的外壳中,因此不会干扰目录,同时为其提供一个解释该目录存在原因的名称。它还可以防止与.env某些工具支持的环境变量定义文件发生冲突。

创建虚拟环境后,可以激活它。

在Windows上,运行:

代码语言:javascript复制
tutorial-envScriptsactivate.bat

在Unix或MacOS上,运行:

代码语言:javascript复制
source tutorial-env/bin/activate

在创建虚拟环境后,你就可以和pip其他任何Python软件包一样,将Scrapy安装在其中。

二. Scrapy的安装过程

上述是属于理论解释部分,此部分则为最重要的安装部分。由于博主本人的电脑为windows系统,所以演示也是在windows系统下进行安装。Linux的安装方法,博主在时间空闲的情况下,可能会进行更新操作。

2.1 通过cmd命令行安装Scrapy

  由于博主已经安装过了,所以会出现上述的情况,如果没有安装,是需要等待一段时间的。

代码语言:javascript复制
pip install scrapy

2.2 通过集成开发工具Pycharm安装Scrapy

通过此方式安装Scrapy就很傻瓜式操作了,话不多说,看我操作:

代码语言:javascript复制
具体过程:File -> Settings -> project interpreter ->   -> 搜索:Scrapy -> install package

三. Scrapy的创建过程

3.1 cmd命令行下创建Scrapy

代码语言:javascript复制
# 命令如下
# 进入想要存放的目录
F:>cd Python项目
# 创建存放文件夹
F:Python项目>mkdir ScrapyTest
# 进入文件夹
F:Python项目>cd ScrapyTest
# 创建项目
F:Python项目ScrapyTest>scrapy startproject bd
# 进入所创建项目的文件夹
F:Python项目ScrapyTest>cd bd
# 
F:Python项目ScrapyTestbaidu>scrapy genspider baidu "baidu.com"

下面为具体操作过程

3.2 使用Pycharm创建Scrapy

使用Pycharm的命令窗口创建Scrapy,在这时候就可以看到上文所提到的虚拟环境(venv)

下面为具体操作过程

  美好的日子总是短暂的,虽然还想继续与大家畅谈,但是本篇博文到此已经结束了,如果还嫌不够过瘾,不用担心,我们下篇见!

0 人点赞