Scrapy的安裝有多種方式,它支援Python2.7版本及以上或Python3.3版本及以上。下面說明Python3環境下的安裝過程。
Scrapy依賴的庫比較多,至少需要依賴庫有Twisted 14.0,lxml 3.4,pyOpenSSL 0.14。而在不同平台環境又各不相同,是以在安裝之前最好確定把一些基本庫安裝好,尤其是Windows。
騰訊雲有Windows、Linux多個版本系統,在這裡分别介紹。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicWZwpmLxADO1QTOyIDN5gDNx81N0MzNfRzN0QDN5IjM0kDO0EzLc12bj5CZ19GbjFXet5SZslmZuITO2kzMwATMtc2bsJ2Lc9CX6MHc0RHaiojIsJye.jpeg)
這種方法是一種比較簡單的安裝Scrapy的方法(尤其是對Windows來說),你可以使用該方法安裝,也可以選用下文中專用平台的安裝方法。
Anaconda是包含了常用的資料科學庫的Python發行版本,如果沒有安裝,可以到https://www.continuum.io/downloads下載下傳對應平台的包安裝。
如果已經安裝,那麼可以輕松地通過<code>conda</code>指令安裝Scrapy。
安裝指令如下:
安裝lxml
最好的安裝方式是通過wheel檔案來安裝,http://www.lfd.uci.edu/~gohlke/pythonlibs/,從該網站找到lxml的相關檔案。假如是Python3.5版本,WIndows 64位系統,那就找到lxml‑3.7.2‑cp35‑cp35m‑win_amd64.whl 這個檔案并下載下傳,然後通過pip安裝。
下載下傳之後,運作如下指令安裝:
即可完成lxml的安裝,其他檔案替換檔案名即可。
安裝zope.interface
到官方網站https://pypi.python.org/pypi/zope.interface#downloads下載下傳對應版本的wheel檔案,然後pip安裝。比如Python 3.5版本,Windows 64位系統,就下載下傳zope.interface-4.3.3-cp35-cp35m-win_amd64.whl。
然後安裝wheel檔案即可,指令如下:
其他版本替換檔案名即可。
安裝pyOpenSSL
官方網站下載下傳wheel檔案,https://pypi.python.org/pypi/pyOpenSSL#downloads,如目前最新版本名稱是pyOpenSSL-16.2.0-py2.py3-none-any.whl,下載下傳後安裝即可。
安裝Twisted
同理,http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted下載下傳wheel檔案,利用pip安裝即可。
如Python 3.5版本,Windows 64位系統,下載下傳 Twisted‑17.1.0‑cp35‑cp35m‑win_amd64.whl,然後pip安裝。
安裝pywin32
從官方網站 https://sourceforge.net/projects/pywin32/files/pywin32/Build%20220/ 下載下傳對應版本的安裝包安裝即可。
安裝Scrapy
最後安裝Scrapy即可,依然使用pip,指令如下:
依賴庫安裝
確定一些必須的類庫已經安裝,運作如下指令:
利用pip安裝Scrapy即可,運作如下指令:
首先確定一些必須的類庫已經安裝,運作如下指令:
雖然騰訊雲沒有Mac系統,不過在這裡還是加上MacOS的安裝。
在Mac上建構Scrapy的依賴庫需要C編譯器以及開發頭檔案,它一般由Xcode提供,運作如下指令安裝即可:
安裝之後,在指令行下輸入<code>scrapy</code>,如果出現類似下方的結果,就證明Scrapy安裝成功。
pkg_resources.VersionConflict: (six 1.5.2 (/usr/lib/python3/dist-packages), Requirement.parse('six>=1.6.0'))
six包版本過低,six包是一個提供相容Python2和Python3的庫,更新six包即可。
c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory
缺少Libffi這個庫。什麼是libffi?“FFI” 的全名是 Foreign Function Interface,通常指的是允許以一種語言編寫的代碼調用另一種語言的代碼。而Libffi庫隻提供了最底層的、與架構相關的、完整的”FFI”。
安裝相應的庫即可。
Ubuntu、Debian:
CentOS、RedHat:
ImportError: No module named 'cryptography'
這是缺少加密的相關元件,利用pip安裝即可。
ImportError: No module named 'packaging'
缺少packaging這個包,它提供了Python包的核心功能,利用pip安裝即可。
ImportError: No module named 'appdirs'
缺少appdirs這個包,它用來确定檔案目錄,利用pip單獨安裝即可。