1. 程式人生 > >Scrapy網路爬蟲系列教程(一) | Scrapy爬蟲框架的開發環境搭建

Scrapy網路爬蟲系列教程(一) | Scrapy爬蟲框架的開發環境搭建

本文主要介紹一下Scrapy爬蟲框架的開發環境搭建。主要有:
Python的安裝,IDE的選擇,MySQL及Navicat的安裝,開發環境Virtualenv、Virtualenvwrapper的搭建以及Scrapy的安裝。

Python的安裝

Python 現在有兩個版本2.X和3.X,雖然說到2020年2.X系列就不再更新維護了,但是Scrapy依賴的庫很多,最大的Twisted庫就是Python2.X寫的,所以用Scrapy框架來寫爬蟲,還是要裝上Python2.X 的。
安裝步驟:去官網:https://www.python.org/downloads/,選擇合適的版本的下載就可以。

這裡寫圖片描述
需要注意的是,在安裝的時候,這一項需要新增上。3.X系列需要在左下角勾選上。

這裡寫圖片描述

安裝完成後,在控制檯輸入python檢驗是否安裝成功。

這裡寫圖片描述

IDE的選擇

這裡寫圖片描述

MySQL的安裝

MySQL是一款關係型資料庫管理系統,其特點是體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站資料庫。
下載網址:https://dev.mysql.com/downloads/mysql/ 選擇合適的版本進行下載。

這裡寫圖片描述

Navicat for MySQL的安裝

這裡寫圖片描述

安裝virtualenv

首先講一下為什麼要安裝虛擬環境。我們的電腦中安裝了Python2和Python3兩個版本,而Virtualenv就是用於在一臺機器上建立多個獨立的Python執行環境。他最大的好處是,可以讓每一個Python專案單獨使用一個環境,而不會影響Python系統環境,也不會影響其他專案的環境。

簡單說:在開發Python應用程式的時候,系統安裝的Python3只有一個版本:3.6。所有第三方的包都會被pip安裝到Python3的site-packages目錄下。如果我們要同時開發多個應用程式,那這些應用程式都會共用一個Python,就是安裝在系統的Python 3。如果應用A需要Python 2.7,而應用B需要Python 3.6怎麼辦?這種情況下,每個應用可能需要各自擁有一套“獨立”的Python執行環境。virtualenv就是用來為一個應用建立一套“隔離”的Python執行環境。

開啟控制檯,輸入pip install virtualenv

這裡寫圖片描述

建立虛擬環境

在控制檯輸入virtualenv ScrapyProjects

這裡寫圖片描述

在目錄資料夾中可以找到該資料夾

這裡寫圖片描述

如何開啟?

通過控制檯,開啟activate.bat即可。
1. cd ScrapyProjects回車;
2. cd Scripts 回車;
3. activate.bat回車;

這裡寫圖片描述
當前方出現 (ScrapyProjects) 就說明開啟成功。
輸入python檢視版本,現在的版本是2.7。

這裡寫圖片描述

如何切換到Python3.X版本呢?

第一步:建立虛擬環境

輸入virtualenv -p C:\Users\Blueheart\AppData\Local\Programs\Python\Python36\python.exe Scrapypy3
- -p指Python版本。
- C:\Users\Blueheart\AppData\Local\Programs\Python\Python36\python.exe指Python3路徑。
- Scrapypy3指新建虛擬環境檔案目錄名稱。

這裡寫圖片描述

第二步:切換到Python3.

  1. cd Scrapypy3回車;
  2. cd Scripts 回車;
  3. activate.bat回車;

這裡寫圖片描述

輸入Python,可以看到,Python的版本變成了3.6.

退出,輸入deactivate.bat即可。

這裡寫圖片描述

安裝Virtualenvwrapper

相信大家剛才也跟著我的步驟走了一遍,有沒有發現啟動環境的時候必須要記住他的絕對路徑才行,而我們接下來安裝的Virtualenvwrapper就是解決記不住絕對路徑這樣尷尬的事情的。
Virtaulenvwrapper是virtualenv的擴充套件包,用於更方便管理虛擬環境,它可以將所有虛擬環境整合在一個目錄下,管理(新增,刪除,複製)虛擬環境,快速切換到虛擬環境。

安裝方法:

控制檯輸入:pip install virtualenvwrapper-win

這裡寫圖片描述

新建一個虛擬環境:mkvirtualenv py3scrapy

這裡寫圖片描述

列出虛擬環境列表:workon

這裡寫圖片描述
目錄中的Envs資料夾就是儲存虛擬環境的。

這裡寫圖片描述

如果你和我不喜歡把這些放到C盤,下面我們就來改到別的盤去。

給Envs資料夾改預設路徑、

開啟 我的電腦 右鍵 屬性 –> 高階系統設定 –> 環境變數 –> 系統變數 –> 新建 –> 如圖所示 (我把 Envs 資料夾設定到了E盤)

這裡寫圖片描述
新建虛擬環境:

這裡寫圖片描述
檢視修改後的資料夾:

這裡寫圖片描述
修改成功。
備註:手動修改Python版本。
mkvirtualenv --python=【C:\Users\Blueheart\AppData\Local\Programs\Python\Python36\python.exe】(Python路徑) py3scrapy(檔名)
附上命令列表:

用法 作用
workon 列出虛擬環境列表
lsvirtualenv 列出虛擬環境列表
mkvirtualenv 新建虛擬環境
workon [虛擬環境名稱] 切換虛擬環境
rmvirtualenv 刪除虛擬環境
deactivate 離開虛擬環境

環境配置的可以了,接下來在Python2下安裝Scrapy框架。
輸入workon py2scrapy–>pip install scrapy

這裡寫圖片描述
等待安裝成功就可以了。
注:
1. 如果在下載過程中速度很慢,可以選擇用國內的映象,比如豆瓣映象:pip install -i https://pypi.doubanio.com/simple/ scrapy
2. 如果安裝過程中出現錯誤,在下面這個網站上下載相應檔案,在本地安裝。
網址:https://www.lfd.uci.edu/%7Egohlke/pythonlibs/

Scrapy安裝完成後,檢驗一下是否安裝成功。

匯入 Scrapy 模組

這裡寫圖片描述

然後,在 shell 中測試能否執行 Scrapy 這條命令。

這裡寫圖片描述
通過了以上兩項測試,就說明 Scrapy 安裝成功了。如圖所示,安裝的最新版本是(1.5.0)。
歡迎關注我的個人公眾號。

相關推薦

Scrapy網路爬蟲系列教程 | Scrapy爬蟲框架開發環境搭建

本文主要介紹一下Scrapy爬蟲框架的開發環境搭建。主要有: Python的安裝,IDE的選擇,MySQL及Navicat的安裝,開發環境Virtualenv、Virtualenvwrapper的搭建以及Scrapy的安裝。 Pytho

flask框架系列教程 flask簡介及虛擬環境搭建

flask簡介      博主快兩個月沒更新了,原因是私下學了前端,奈何前端東西太多,即便以後想去做後端,也要明白JS jquery,這個有時間再發自己的理解,最近開始學習flask了,希望與諸位看客共同進步。前期先講基礎,過一段時間會把整個網站的建設過程發出來。  

SCFSenparcCoreFramework 系列教程:專案介紹及快速搭建

  2020年3月25日的“盛派週三分享”活動首次使用直播的方式與大家見面,共有 500 多人蔘與了活動,得到了眾多開發者的好評,並強烈要求我分享 PPT,這點要求當然必須滿足啦!   除此以外,還有許多開發者因為時間衝突,沒有能夠及時光看直播,我們特地錄製了直播視訊,並提供

Web筆記 Web 簡介與開發環境搭建

tro env 原理圖 start log auc wid serve enc Web應用程序的工作原理 大多數的Web應用程序結構都是采用最為流行的B/S軟件開發體系結構,將Web應用程序部署在Web服務器上,只要Web服務器啟動,用戶就可以通過客戶端瀏覽器發送HTTP

NS-3教程1:NS-3開發環境搭建

前言 在現代網路通訊技術的教學和科研中,迫切希望有一種先進的網路模擬技術。在網路模擬工具的研究和開發方面國內所做的工作較少,但是國外早已出現了很多研究成果和模擬工具,如ns-2、OMNet++、OPNET、GloMoSim、GTNetS、QualNet

Scrapy網路爬蟲系列教程| 提取網頁上的內容

今天我們新建第一個爬蟲程式,爬取[伯樂線上]網站上一個網頁的內容。 建立專案 [按照上一篇文章所講的,你已經建好一個虛擬環境並安裝好了 scrapy] 首先,開啟控制檯,進入虛擬環境,輸入 scrapy startproject jobbole

RabbitMQ消息隊列系列教程認識RabbitMQ

ref sage 操作系統 企業級 連接 通信 集群 消息中間件 消息 摘要 RabbitMQ是最為流行的消息中間件,是處理高並發業務的利器。本系列教程,將跟大家一起學習RabbitMQ。 目錄 RabbitMQ是什麽? RabbitMQ的特點是什麽? 一

Git 系列教程Git 簡介

1.關於版本控制Version control is a system that records changes to a file or set of files over time so that you can recall specific versions la

android開發系列教程啟動頁

1.啟動頁延時跳轉+沉浸狀態列+啟動頁圖片全屏 public class SplashActivity extends AppCompatActivity { @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)

Java NIO系列教程 Java NIO 概述

Java NIO 由以下幾個核心部分組成: Channels Buffers Selectors 雖然Java NIO 中除此之外還有很多類和元件,但在我看來,Channel,Buffer 和 Selector 構成了核心的API。其它元件,如P

OAuth 2.0系列教程引言

作者:Jakob Jenkov   譯者:林浩    校對:郭蕾 OAuth 2.0是一個應用之間彼此訪問資料的開源授權協議。比如,一個遊戲應用可以訪問Facebook的使用者資料或者一個基於地理的應用可以訪問Foursquare的使用者資料等。下面是一張闡述該概念的圖: OAuth 2.

Java NIO系列教程java NIO簡介

這個系列的文章,我們開始玩一玩IO方面的知識,對於IO和NIO,我們經常會接觸到,瞭解他們的基本內容,對於我們的工作會有特別大的幫助。這篇博文我們僅僅是介紹IO和NIO的基本概念,以及一些關鍵詞。 基本概念 IO是主存和外部裝置(硬碟、終端和網路)進行資

ASP.NET Identity入門系列教程 初識Identity

摘要 通過本文你將瞭解ASP.NET身份驗證機制,表單認證的基本流程,ASP.NET Membership的一些弊端以及ASP.NET Identity的主要優勢。 目錄 身份驗證(Authentication)和授權(Authorization) 我們先來思考一個問題:如何構建安全的WEB應

RabbitMQ訊息佇列系列教程認識RabbitMQ

摘要 RabbitMQ是最為流行的訊息中介軟體,是處理高併發業務的利器。本系列教程,將跟大家一起學習RabbitMQ。 目錄 一、RabbitMQ是什麼? RabbitMQ是基於Erlang開發的目前最流行的開源訊息中介軟體,類似於MSMQ、ActiveMQ等訊息佇列元件。RabbitMQ是輕量級

Flask系列教程-----------入門

Flask是一個基於Python的web框架,它的設計目的是提供Web開發所需的最小功能子集。 Flask與別的框架(尤其是採用其他程式語言的框架)的不同之處在於:它沒有繫結諸如資料庫查詢或者表單處理等功能庫,以及它們所組成的整個生態系統。它傾向於對這些功能的實現方式不做

API 系列教程:基於 Laravel 5.5 構建 和 測試 RESTful API

隨著移動開發和 JavaScript 框架的日益流行,使用 RESTful API 在資料層和客戶端之間構建互動介面逐漸成為最佳選擇。 在本系列教程中,將會帶領大家基於 Laravel 5.5 來構建並測試帶認證功能的 RESTful API。 RESTful API 先要了解什麼是

webpack4系列教程:初識webpack

目錄   1. 什麼是webpack 2. webpack核心概念  2.1 入口(entry) 2.2 出口(output)  2.3 loader 2.4 外掛(plugins) 1. 什麼是webpack 先來看看官網對

Java NIO系列教程 Java NIO 簡介

Java NIO系列教程(一) Java NIO 概述 原文連結 作者:Jakob Jenkov 譯者:airu 校對:丁一 Java NIO 由以下幾個核心部分組成: Channels Buffers Selectors 雖

基於FFmpeg的視訊播放器開發系列教程

前言        在各大部落格,論壇,看到很多人對流媒體音視訊的開發感興趣,可是不知道怎麼入門,對音視訊的瞭解也很少,寫程式碼更不用說了,經過一段時間的整理,我準備在csdn上寫一套ffmpeg音視訊播放器的開發教程,希望對想從事ffmpeg音視訊領域的

史上最詳細的Android Studio系列教程--下載和安裝

背景 相信大家對Android Studio已經不陌生了,Android Studio是Google於2013 I/O大會針對Android開發推出的新的開發工具,目前很多開源專案都已經在採用,Google的更新速度也很快,明顯能感覺到這是Android開發的未來,那