[Python3 網(wǎng)絡(luò)爬蟲(chóng)開(kāi)發(fā)實(shí)戰(zhàn)] 1.8.1-pyspider 的安裝
pyspider 是國(guó)人 binux 編寫(xiě)的強(qiáng)大的網(wǎng)絡(luò)爬蟲(chóng)框架,它帶有強(qiáng)大的 WebUI、腳本編輯器、任務(wù)監(jiān)控器、項(xiàng)目管理器以及結(jié)果處理器,同時(shí)支持多種數(shù)據(jù)庫(kù)后端、多種消息隊(duì)列,另外還支持 JavaScript 渲染頁(yè)面的爬取,使用起來(lái)非常方便,本節(jié)介紹一下它的安裝過(guò)程。

1. 相關(guān)鏈接
官方文檔:http://docs.pyspider.org/
PyPI:https://pypi.python.org/pypi/pyspider
GitHub:https://github.com/binux/pyspider
官方教程:http://docs.pyspider.org/en/latest/tutorial
在線實(shí)例:http://demo.pyspider.org
2. 準(zhǔn)備工作
pyspider 是支持 JavaScript 渲染的,而這個(gè)過(guò)程是依賴于 PhantomJS 的,所以還需要安裝 PhantomJS(具體的安裝過(guò)程詳見(jiàn) 1.2.5 節(jié))。
3. pip 安裝
這里推薦使用 pip 安裝,命令如下:
1
pip3 install pyspider
命令執(zhí)行完畢即可完成安裝。
4. 常見(jiàn)錯(cuò)誤
Windows 下可能會(huì)出現(xiàn)這樣的錯(cuò)誤提示:
1
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-vXo1W3/pycurl
這是 PyCurl 安裝錯(cuò)誤,此時(shí)需要安裝 PyCurl 庫(kù)。從 http://www.lfd.uci.edu/~gohlke/pythonlibs/#pycurl 找到對(duì)應(yīng)的 Python 版本,然后下載相應(yīng)的 wheel 文件即可。比如 Windows 64 位、Python 3.6,則需要下載 pycurl?7.43.0?cp36?cp36m?win_amd64.whl,隨后用 pip 安裝即可,命令如下:
1
pip3 install pycurl?7.43.0?cp36?cp36m?win_amd64.whl
如果在 Linux 下遇到 PyCurl 的錯(cuò)誤,可以參考本文:https://imlonghao.com/19.html。
5. 驗(yàn)證安裝
安裝完成之后,可以直接在命令行下啟動(dòng) pyspider:
1
pyspider all
此時(shí)控制臺(tái)會(huì)有類似如圖 1-74 所示的輸出。
圖 1-74 控制臺(tái)
這時(shí) pyspider 的 Web 服務(wù)就會(huì)在本地 5000 端口運(yùn)行。直接在瀏覽器中打開(kāi) http://localhost:5000/,即可進(jìn)入 pyspider 的 WebUI 管理頁(yè)面,如圖 1-75 所示,這證明 pyspider 已經(jīng)安裝成功了。
圖 1-75 管理頁(yè)面
后面,我們會(huì)詳細(xì)介紹 pyspider 的用法。
Python 網(wǎng)絡(luò)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。