小白學 Python 爬蟲(6):前置準備(五)爬蟲框架的安裝

人生苦短,我用 Pythoncss

前文傳送門:html

小白學 Python 爬蟲(1):開篇python

小白學 Python 爬蟲(2):前置準備(一)基本類庫的安裝git

小白學 Python 爬蟲(3):前置準備(二)Linux基礎入門github

小白學 Python 爬蟲(4):前置準備(三)Docker基礎入門web

小白學 Python 爬蟲(5):前置準備(四)數據庫基礎shell

小編,你還有完沒完!!!前置準備都準備這麼多了,還不開始正文!!!數據庫

別急別急,前置準備的最後一篇了,咱們這幾篇總共介紹了基本類庫的安裝、 Linux 基礎、 Docker 基礎和本篇的爬蟲框架的安裝。主要是內容有些多,小編怕寫在一塊兒各位同窗看不下去,因此才分紅多篇內容(悄悄的說,這樣小編也能多推幾天嘛)。後端

pyspider 安裝

pyspider 是由國人 binux 開源的強大的網絡爬蟲框架。 pyspider 自帶 WebUI (這個很關鍵),這樣咱們能夠實時的看到更多的數據,而且它還帶有腳本編輯器、任務監控器、項目管理器以及結果處理器,同時支持多種數據庫後端、多種消息隊列,還支持JavaScript渲染頁面的爬取,異常強大。api

Github 連接: https://github.com/binux/pyspider

官方文檔: http://docs.pyspider.org/

開始安裝,咱們仍是使用 pip 進行安裝:

pip install pyspider複製代碼

若是各位是跟着小編一步一步裝環境的話,這裏應該會報錯。會報咱們安裝 pycurl 失敗。這裏咱們須要使用 wheel 進行安裝。

第一步,安裝 wheel 。

pip install wheel複製代碼

下載 pycurl 的 wheel 文件進行安裝,下載站點:http://www.lfd.uci.edu/~gohlke/pythonlibs/ ,找到對應的 wheel 文件版本。好比小編這裏的電腦是 win64 , python3.7 ,那麼就下載 pycurl‑7.43.0.3‑cp37‑cp37m‑win_amd64.whl 這個文件。

小編這裏將下載好的文件放到了 D 盤的跟目錄,顧使用如下命令安裝。

pip install D:\pycurl-7.43.0.3-cp37-cp37m-win_amd64.whl複製代碼

安裝完成後,從新執行上面的安裝語句。

pip install pyspider複製代碼

靜靜等待進度條讀完,完成後能夠直接在命令行下啓動 pyspider ,命令以下:

pyspider all複製代碼

而後發現,啓動報錯了,錯誤內容以下:

SyntaxError: invalid syntax複製代碼

由於 async 和 await 從 python3.7 開始已經加入保留關鍵字中。因此async不能做爲函數的參數名。

因此咱們須要修改 pyspider 代碼中有用到 async 的地方,具體路徑爲:

修改 `%homepath%AppDataLocalProgramsPythonPython37Libsite-packagespyspider` 路徑下的 python 文件中的 async 爲 async1 (所有替換)

  1. run.py
  2. fetchertornado_fetcher.py
  3. webuiapp.py

修改完成後,再執行 pyspider all ,發現仍是報錯,這不過此次的錯誤換成了:

ValueError: Invalid configuration: - Deprecated option 'domaincontroller': use 'http_authenticator複製代碼

緣由是由於 WsgiDAV 發佈了版本 pre-release 3.x。

解決辦法:

仍是在剛纔的路徑中找到webui文件裏面的 webdav.py 文件打開,修改第 209 行。

將:

'domaincontroller': NeedAuthController(app),複製代碼

修改成:

'http_authenticator':{
    'HTTPAuthenticator':NeedAuthController(app),
},複製代碼

而後再執行 pyspider all ,發現仍是起不來,這是由於 pyspider 有依賴 PhantomJS ,咱們再去下載 PhantomJS 進行安裝,下載路徑爲:https://phantomjs.org/download.html ,下載完成後,從壓縮包中將可執行文件 phantomjs.exe 放入 %homepath%AppDataLocalProgramsPythonPython37Scripts ,有沒有感受很熟悉,對嘞,這個和以前的 Chrome 的驅動文件放的是同一個位置。

此次咱們輸入 pyspider all 進行啓動,此次應該能夠啓動成功,而後打開瀏覽器訪問:http://localhost:5000/ ,能夠看到以下頁面:

證實咱們的 pyspider 已經安裝成功了。

Scrapy 安裝

Scrapy 這個就不用我介紹了吧,鼎鼎大名,接下來咱們主要介紹安裝過程。

Scrapy 官網: https://scrapy.org/

各位同窗的電腦環境應該和小編的相差不遠(若是是使用 win10 的話),小編也沒有揹着各位同窗裝過其餘東西。

安裝命令:

pip install scrapy複製代碼

因爲 Scrapy 依賴了大量的第三方的包,因此在執行上面的命令後並不會立刻就下載 Scrapy ,而是會先不斷的下載第三方包,包括並不限於如下幾種:

  • pyOpenSSL:Python 用於支持 SSL(Security Socket Layer)的包。
  • cryptography:Python 用於加密的庫。
  • CFFI:Python 用於調用 C 的接口庫。
  • zope.interface:爲 Python 缺乏接口而提供擴展的庫。
  • lxml:一個處理 XML、HTML 文檔的庫,比 Python 內置的 xml 模塊更好用。
  • cssselect:Python 用於處理 CSS 選擇器的擴展包。
  • Twisted:爲 Python 提供的基於事件驅動的網絡引擎包。
  • ......

等待命令執行完成後,直接輸入 scrapy 進行驗證。

Scrapy 1.8.0 - no active project

Usage:
  scrapy <command> [options] [args]

Available commands:
  bench         Run quick benchmark test
  fetch         Fetch a URL using the Scrapy downloader
  genspider     Generate new spider using pre-defined templates
  runspider     Run a self-contained spider (without creating a project)
  settings      Get settings values
  shell         Interactive scraping console
  startproject  Create new project
  version       Print Scrapy version
  view          Open URL in browser, as seen by Scrapy

  [ more ]      More commands available when run from project directory

Use "scrapy <command> -h" to see more info about a command複製代碼

若是能正常出現以上內容,說明咱們已經安裝成功了。

由於小編電腦安裝 Scrapy 未出現其餘問題,一切都很順利,沒法作其餘有問題狀況的演示,理論上 Scrapy 安裝出現各類問題纔算正常狀況,小編這種一次過的只能說是運氣好。

前置準備到這裏就所有結束,咱們接下來開始介紹 HTTP 基礎。

參考

http://c.biancheng.net/view/2745.html

https://cuiqingcai.com/5407.html

若是個人文章對您有幫助,請掃碼關注下做者的公衆號:獲取最新干貨推送:)
相關文章
相關標籤/搜索