Skip to main content

安装指南

安装Scrapy

Scrapy在Python 2.7和Python 3.3或更高版本上运行(除了在Windows 3上不支持Python 3)。

如果你已经熟悉Python包的安装,你可以从PyPI安装Scrapy及其依赖项:

pip install Scrapy

我们强烈建议您在 专用virtualenv 中安装Scrapy,以避免与系统软件包冲突。

有关更详细和平台详细说明,请继续阅读。

事情是好知道

Scrapy是用纯Python编写的,并且依赖于一些关键的Python包(其中包括):

  • lxml,一个高效的XML和HTML解析器

  • parsel,一个写在lxml顶部的HTML/XML数据提取库,

  • w3lib,一个用于处理URL和网页编码的多用途助手

  • twisted,一个异步网络框架

  • cryptographypyOpenSSL,以处理各种网络级安全需求

Scrapy的最小版本是:

  • 扭曲14.0

  • lxml 3.4

  • pyOpenSSL 0.14

Scrapy可能与这些软件包的旧版本一起工作,但不能保证它将继续工作,因为它没有针对它们进行测试。

其中一些包本身依赖于非Python包,这些包可能需要额外的安装步骤,具体取决于您的平台。请检查 以下平台特定指南

如果出现任何与这些依赖关系有关的问题,请参阅其各自的安装说明:

平台特定安装说明

视窗

  • https://www.python.org/downloads/ 安装Python 2.7

    您需要调整 PATH 环境变量以包括Python可执行文件和其他脚本的路径。需要将以下路径添加到 PATH:

    C:\Python27\;C:\Python27\Scripts\;
    

    要更新 PATH,请打开命令提示符并运行:

    c:\python27\python.exe c:\python27\tools\scripts\win_add2path.py
    

    关闭命令提示符窗口并重新打开以使更改生效,运行以下命令并检查它是否显示预期的Python版本:

    python --version
    
  • http://sourceforge.net/projects/pywin32/ 安装 pywin32

    请确保下载与您的系统匹配的体系结构(win32或amd64)

  • (只需要Python <2.7.9)https://pip.pypa.io/en/latest/installing/ 安装 pip

    现在打开一个命令提示符来检查 pip 是否正确安装:

    pip --version
    
  • 至此Python 2.7和 pip 包管理器必须工作,让我们来安装Scrapy:

    pip install Scrapy
    

注解

Windows 3不支持Python 3。这是因为Scrapy核心需求Twisted不支持Windows 3上的Python 3。

Ubuntu 12.04或更高版本

Scrapy目前测试与最近足够版本的lxml,扭曲和pyOpenSSL,并与最新的Ubuntu发行版兼容。但它应该支持Ubuntu的旧版本,如Ubuntu 12.04,虽然TLS连接的潜在问题。

使用Ubuntu提供的 python-scrapy 软件包,他们通常太旧,很慢赶上最新的Scrapy。

要在Ubuntu(或基于Ubuntu的)系统上安装scrapy,您需要安装这些依赖项:

sudo apt-get install python-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev
  • python-devzlib1g-devlibxml2-devlibxslt1-devlxml 所需的

  • cryptography 需要 libssl-devlibffi-dev

如果你想在Python 3上安装scrapy,你还需要Python 3开发标题:

sudo apt-get install python3 python3-dev

virtualenv 中,您可以在此之后安装具有 pip 的Scrapy:

pip install scrapy

注解

相同的非python依赖可以用来安装Scrapy在Debian Wheezy(7.0)及以上。

Mac OS X

构建Scrapy的依赖需要一个C编译器和开发头文件。在OS X上,这通常由苹果的Xcode开发工具提供。要安装Xcode命令行工具打开一个终端窗口并运行:

xcode-select --install

有一个 已知问题 阻止 pip 更新系统包。这必须解决成功安装Scrapy及其依赖项。这里有一些建议的解决方案:

  • (Recommended) 使用系统python,安装一个新的,与系统的其他部分不冲突的更新版本。下面是如何使用 homebrew 包管理器:

    • 按照 http://brew.sh/ 中的说明安装 homebrew

    • 更新您的 PATH 变量以声明在系统包之前应使用homebrew包(如果您使用 zsh 作为默认shell,请将 .bashrc 更改为 .zshrc):

      echo "export PATH=/usr/local/bin:/usr/local/sbin:$PATH" >> ~/.bashrc
      
    • 重新加载 .bashrc 以确保已发生更改:

      source ~/.bashrc
      
    • 安装python:

      brew install python
      
    • 最新版本的python有 pip 捆绑与他们,所以你不需要单独安装。如果不是这样,请升级python:

      brew update; brew upgrade python
      
  • (Optional) 在孤立的python环境中安装Scrapy。

    这种方法是上述OS X问题的一个解决方法,但它是管理依赖的一个总体好的做法,可以补充第一种方法。

    virtualenv 是一个工具,您可以使用它来创建虚拟环境中的python。我们建议阅读一个像 http://docs.python-guide.org/en/latest/dev/virtualenvs/ 的教程开始。

在任何这些解决方法之后,您应该能够安装Scrapy:

pip install Scrapy

蟒蛇

使用Anaconda是替代使用virtualenv和安装与 pip

注解

对于Windows用户,或者如果您通过 pip 安装时遇到问题,建议您安装Scrapy。

如果您已经安装了 AnacondaMiniconda,则 conda-forge 社区拥有适用于Linux,Windows和OS X的最新软件包。

要使用 conda 安装Scrapy,请运行:

conda install -c conda-forge scrapy