Scrapy安装向导

时间:2022-02-11 01:55:22

原文地址 https://doc.scrapy.org/en/latest/intro/install.html

安装Scrapy

Scrapy运行在python2.7和python3.3或以上版本(Windows还不支持python3)。

如果你已经熟悉python包的安装,你可以安装Scrapy使用它的PyPI依赖:
pip install Scrapy
我们强烈建议你把Scrapy安装在一个专用的虚拟环境中,以避免和你的系统包冲突。
更多细节和平台规范介绍,继续往下读。

Things that are good to know

Scrapy完全使用Python编写,依赖少量的关键Python包(包括):

  • lxml,一个高效的XML和HTML解释器
  • parsel,基于lxml的HTML/XML数据提取包
  • w3lib,处理url和web页面编码的多用途助手
  • twisted,异步网络框架
  • cryptographypyOpenSSL,处理各种网络级需求

Scrapy测试所需最小版本:

  • Twisted 14.0
  • lxml 3.4
  • pyOpenSSL 0.14

Scrapy可能使用更老的版本包也能工作但是不保证将来继续有效毕竟没有测试过。

这些包有些依赖非Python包,那可能需要根据你的平台添加安装步骤。请检查特定平台下指南

有任何相关依赖方面的麻烦,请参阅各自的安装介绍:

使用一个虚拟的环境(建议)

TL;DR: 我们建议在所有平台上都是用虚拟环境安装Scrapy。
Python包既可以使用全局安装(系统范围)也可以个人安装。我们不建议在系统范围安装。

反而,我们建议你使用称为虚拟环境(virtualenv)安装scrapy。虚拟环境使你不会和已安装的python系统包(这些可能毁坏你的一些系统工具和脚本)冲突,可以直接正常使用pip(不需要sudo等)。

开始使用虚拟环境,看(虚拟环境安装介绍)。
$ [sudo] pip install virtualenv
如果你使用linux或者OSX,virtualenvwrapper 是一个方便创建虚拟环境的工具。
一旦你创建了虚拟环境,你就可以使用它的pip安装scrapy,就像安装其他的Python包一样。(查看特定平台规范)下非Python包的安装依赖,你可能需要先安装这些。

Python虚拟环境可使用Python2或者Python3创建。

  • 如果你想使用Python3安装scrapy,那么使用Python3的虚拟环境安装scrapy
  • 如果你想使用Python2安装scrapy,那么使用Python2的虚拟环境安装scrapy

    特定平台安装说明

    Windows

  • 安装Python2.7
    你需要把Python的执行路径和脚本添加到PATH环境变量。下面的路径需要添加到PATH:
    C:\Python27\;C:\Python27\Scripts\;
    更新PATH,打开命令函并运行:
    c:\python27\python.exe c:\python27\tools\scripts\win_add2path.py
    关闭命令行窗口并重新打开运行下面命令并检查Python版本:
    python --version
  • 安装pywin32
    确保你下载的架构(win32或者amd64)匹配你的系统。
  • (使用Python<2.7.9的需要)安装pip
  • 此时Python2.7和pip包管理器都可使用,安装Scrapy:
    pip install Scrapy

Python3不在windows中支持,因为Scrapy内核需要的Twisted在python3中不支持windows。

Ubuntu 12.04及以上版本

Scrapy已经在最新的lxml,twisted和pyOpenSSL的几个版本上做过测试,并且兼容最新的Ubuntu发行版。但也支持Ubuntu的老版本,如Ubuntu 12.04,虽然存在潜在的TLS连接问题。
不要使用Ubuntu提供的python-scrapy安装包,他们太老了,赶上最新的Scrapy很慢。
在Ubuntu系统上安装scrapy,你需要安装以下依赖:
sudo apt-get install python-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev

  • python-dev,zlib1g-dev,libxml2-devlibxslt-dev是由于lxml需要。
  • libssl-devlibffi-dev是由于cryptography需要。

如果你想基于Python3安装scrapy,还需要安装Python3的开发头文件:
sudo apt-get install python3 python3-dev
之后在虚拟环境中,使用pip命令安装Scrapy
pip install scrapy