1. 程式人生 > >windows環境下在python2.7下安裝Scrapy

windows環境下在python2.7下安裝Scrapy

     大資料越來越火,可是海量的資料很難輕易拿到,於是爬蟲來了,早先人們用Java,c++語言進行資料的獲取,可是後來Python的誕生與發展,由於其程式碼簡潔易懂,並且有大量完美的庫函式,使其在最近幾年很火。

    獲取網站的資料的程式碼很多,並且也有很多框架,今天來說一說scrapy框架,它是人們獲取海量資料一個很好的框架。scrapy = search + python;下面就來說一說scrapy框架的安裝。

     安裝scrapy需要用到很多的庫,看了很多參看現總結如下:

    前提:電腦要安裝好python2.7版本(一般建議為安裝32位2.7版本,因為其相容性比較好),前面部落格有參考教你怎麼安裝。

    1:安裝lxml(lxml是一種使用 Python 編寫的庫,可以迅速、靈活地處理 XML):

  1. python2 -m pip install lxml  

   2:安裝setuptools(setuptools是Python distutils增強版的集合,它可以幫助我們更簡單的建立和分發Python包,尤其是擁有依賴關係的。):

  1. python2 -m pip install setuptools  

    3:安裝zope.interface(Python支援多繼承,但是不支援介面,zope.inteface是其三方的介面實現庫,在twisted中有大量使用):

  1. python2 -m pip install zope.interface  

    4:安裝Twisted(它是用Python實現的基於事件驅動的網路引擎框架):

  1. python2 -m pip install Twisted  

    5:安裝pyOpenSSL(pyOpenSSL是Python的OpenSSL介面):

  1. python2 -m pip install pyOpenSSL  

    6:安裝win32py(提供win32api):雙擊開啟即可;然後一路下一步。但是其安裝目錄必須要在Python的目錄下。這個連結的安裝親測,不會有錯。

    7:安裝scrapy(爬取資料的一個很好的框架)

  1. python2 -m pip install scrapy  

     8:測試是否成功


         遇到的bug及解決方法:

1:安裝包時遇到python error:Microsoft Visual c++ is required;錯誤資訊如下:

  1. error: Microsoft Visual C++ 9.0is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27  

出現錯誤的原因:

     由於Python預設呼叫VS2008編譯器編譯相關C程式碼,因此出現這種錯誤的原因可能有如下幾個方面:

     1).沒有安裝VS2008.

     2).安裝了32位VS2008,使用64位python.

     3).安裝了64位VS2008,使用32位python.

     4).由於安裝了VS2008或者安裝了Microsoft Visual C++ Compiler for Python 2.7(https://www.microsoft.com/en-us/download/details.aspx?id=44266)後仍會碰到其他問題,例如找不到“stdbool.h”標頭檔案等,因此建議為Python指定更高版本的VS編輯器。

解決方案:

      1):如果你的電腦安裝有現成的VS那是最好不過了,小編我安裝的是VS2013;建議開啟python安裝目錄:“C:\Python27\Lib\distutils\msvc9compiler.py”把這個檔案開啟找到find_vcvarsall函式,在函式開始處新增 version = 12.0(即符合等式:version=vs的版本號);儲存即可。然後再繼續pip你的安裝。   

      2):電腦沒有安裝VS,還可以在環境變數中新增項 VS90COMNTOOLS,值為“VS安裝路徑\Common7\Tools”,例如C:\Program Files\Microsoft Visual Studio 12.0\Common7\Tools,也可在控制輸入: SET VS90COMNTOOLS=%VS120COMNTOOLS%即可。

2:檢視你安裝過的所有的包:

  1. python2 -m pip list