爬蟲框架Scrapy

(用于個人學(xué)習(xí),不喜勿噴)

安裝

scrapy可以運行在python2.7、python3.3或者是更高的版本上;如果你用的是Anaconda(Anaconda下載)或者M(jìn)inconda,你可以從conda-forge進(jìn)行安裝,可以使用下面的命令:

conda install -c conda-forge scrapy

如果你已經(jīng)安裝了python包管理工具PyPI,你也可以使用下面命令進(jìn)行安裝:

pip install Scrapy

值得注意的是,如果你使用的是pip安裝,你需要解決相應(yīng)的包依賴(解決依賴一般會讓你懷疑人生、懷疑scrapy,建議還是用Anaconda安裝,少年?。?/p>

這里的話,為了避免你安裝的scrapy依賴包和原先你安裝的其他python包有沖突,官方強烈建議你使用Virtualenv進(jìn)行scrapy安裝;

scrapy依賴的一些包:

lxml:一種高效的XML和HTML解析器,

PARSEL:一個HTML / XML數(shù)據(jù)提取庫,基于上面的lxml,

w3lib:一種處理URL和網(wǎng)頁編碼多功能輔助

twisted,:一個異步網(wǎng)絡(luò)框架

cryptography and pyOpenSSL,處理各種網(wǎng)絡(luò)級安全需求

以上包需要的最低版本:

Twisted 14.0

lxml 3.4

pyOpenSSL 0.14

win7安裝scrapy

在win7下的安裝,這里的話并不推薦大家用python+pip安裝,推薦使用Anaconda進(jìn)行安裝,為什么呢?因為如果你選擇前者,填坑的過程可能會讓你絕望,說不定會讓你砸鍵盤、內(nèi)分泌失調(diào),所以強烈建議用Anaconda!不信的話大家可以試試!

軟件環(huán)境:

win7(64位)

Anaconda3-5.0.1-Windows-x86_64(點擊下載

一、安裝Anaconda

這里的話簡單介紹一下anaconda的下載,下載地址為:https://www.anaconda.com/download/

如果官網(wǎng)無法打開,請移步這里:下載Anaconda

里面有不同的平臺,不同的版本,根據(jù)您的平臺進(jìn)行下載即可!這里的話建議大家下載Anaconda全包,而不是Miniconda,因為后者雖然小巧,但會出現(xiàn)一些問題,如果你怕填坑就請下載Anaconda,500M左右,這里再說一點,python是不用安裝的,當(dāng)然裝了也沒關(guān)系!下載完成之后開始安裝:

點擊下一步

點擊:I Agree(同意)

選擇安裝目錄,然后Next,這里盡量不要選擇帶空格的目錄

這一步一定兩個都勾起了,上面是表示加入環(huán)境變量,勾了后期就不用設(shè)了,省得麻煩,下面是默認(rèn)安裝python3.6為默認(rèn)的python解釋器,勾選之后點擊:Install,進(jìn)行安裝!安裝過程有點緩慢,請大家耐心等待哈!

ok,大功告成,點擊下一步

點擊完成(Finish),那就安裝完成了,接下來我們通過Anaconda安裝scrapy

二、安裝scrapy

點擊開始菜單中的 Anaconda Navigator,啟動Anaconda,稍等片刻,正在啟動

啟動后點擊左側(cè):Environments

然后選擇not install 然后在輸入框中輸入scrapy

下面就出現(xiàn)了scrapy包,點擊選中scrapy,然后點擊下面Apply,進(jìn)行相應(yīng)安裝

接下來會跳出scrapy的包依賴,選擇Apply,即可

稍等片刻,即可安裝完成,基本整個過程是0出錯,非常順暢,安裝完成后在命令行輸入:scrapy,進(jìn)行測試,如果出現(xiàn)以下顯示,恭喜你,scrapy已經(jīng)成功安裝!

看視頻教程:《【視頻】scrapy安裝視頻:win7+Anaconda安裝scrapy1.4》

linux centos7安裝scrapy

scrapy中文教程主要介紹,centos7 linux下scrapy的安裝,python版本是2.7!上面我們已經(jīng)介紹了如何安裝centos linux,如果還木有安裝好centos,請移步:《scrapy centos7 linux安裝(一):centos安裝》?安裝好之后,我們來看如何在centos7下面安裝scrapy。這里有一點特殊的地方要說下,相對于Windows,centos7自帶python2.7,也就是說我們并不需要再安裝python了,當(dāng)然如果你想使用python3.6,請看另一篇文章:《centos7 linux安裝scrapy(三):python3.6安裝scrapy1.4》!接下來我們看如何在centos7 下python2.7安裝scrapy!

先提一下,linux的一些命令,比如登錄、cd、yum……這些前戲就不多說了,不清楚的大家不清楚的去百度一下,這里我直接進(jìn)入正題了!在linux下面我們就用pip安裝,我們先在linux命令行輸入:

pip install scrapy

試一下,看能不能安裝!結(jié)果:

[root@localhost ~]# pip install scrapy

-bash: pip: 未找到命令

可以看到,沒有pip命令,那我們需要先安裝pip:

yum -y install epel-release

輸入以上命令,然后當(dāng)出現(xiàn)下圖時,說明安裝完成(一半):

接著再輸入一下命令:

yum install python-pip

里面我們需要輸入[y/d/n],我們一路輸入:y

當(dāng)出現(xiàn):完畢!字樣,說明pip安裝完成!接下來我們安裝scrapy,用的命令就是我們狠熟悉的pip命令了,如下:

pip install scrapy

當(dāng)我們滿懷歡喜安裝的時候,發(fā)現(xiàn):

Command "/usr/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-L1Q1wb/Twisted/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-QWsI2y-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-L1Q1wb/Twisted/

You are using pip version 8.1.2, however version 9.0.1 is available.

You should consider upgrading via the 'pip install --upgrade pip' command.


神馬情況,好像是告訴我們需要使用:

pip install --upgrade pip

更新pip版本,那我們就試試!

好了,更新完成了,再試試pip install scrapy看還會不會出錯!果然,哈哈,又出錯:

error: command 'gcc' failed with exit status 1


Command "/usr/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-S4duRv/Twisted/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-tAiOQb-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-S4duRv/Twisted/


紅色、錯誤、error一點都不可怕,可怕的是不敢把錯誤踩在腳下,我們繼續(xù)解決錯誤,大家要學(xué)會看提示,也就是上面error后面的或是紅色的提示,雖然是英文,但是都是一些常見的,慢慢多看就熟悉了,以后出現(xiàn)這樣的錯誤還多,何不早早的試試?好,我們來看上面提示大致意思是:沒有‘gcc’,那我們先來裝gcc吧,centos安裝gcc灰常簡單,命令如下:

yum install gcc

如果出現(xiàn)讓你選擇:[y/d/n] 不要猶豫,一路的:y ,然后就是等待,直到出現(xiàn):完畢!字樣說明gcc安裝完成,如圖:

安裝完gcc后,我們再次輸入:pip install scrapy試試,看能不能愉快的安裝,呵呵,又有坑:

編譯中斷。

? ? error: command 'gcc' failed with exit status 1


? ? ----------------------------------------

Command "/usr/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-CRTnLK/Twisted/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-geKgvU-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-CRTnLK/Twisted/


網(wǎng)上查了一下,原來是差這么幾個模塊:libffi-devel 、 python-devel 、openssl-devel,一起安裝一下,命令行輸入:

yum install gcc libffi-devel python-devel openssl-devel -y

安裝完成之后,再次輸入:pip install scrapy,你會發(fā)現(xiàn)奇跡就在眼前,scrapy成功安裝,輸入:scrapy,當(dāng)出現(xiàn)如下輸出,說明安裝完成

其實這就是一個填坑的過程,之所以出現(xiàn)這些問題,是我們使用centos mini(最小安裝),導(dǎo)致許多包沒有,所以需要我們手動安裝一下這些包,其實用到的命令就這么幾個:

yum -y install epel-release

yum install python-pip -y

pip install --upgrade pip

yum install gcc -y

yum install gcc libffi-devel python-devel openssl-devel -y

pip install scrapy

用:?import scrapy? 查看是否安裝成功

注意:其實python2 與 python3 都可以 直接:pip install scrapy安裝的

Scrapy創(chuàng)建項目之前

(1)進(jìn)入 Python 的主目錄,如cd /usr/local/python3.6/bin,查找 scrapy 項?

(2)檢查 cd /usr/bin/ | ll | grep scrapy,查看是否存在?

(3)不存在則執(zhí)行 ln -s /usr/local/bin/scrapy /usr/bin/scrapy?

(4)回到shell,執(zhí)行 scrapy version,成功

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容