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.
cd Scrapypy3
回車;cd Scripts
回車;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了,希望與諸位看客共同進步。前期先講基礎,過一段時間會把整個網站的建設過程發出來。
SCF(SenparcCoreFramework) 系列教程(一):專案介紹及快速搭建
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開發的未來,那