人生苦短,我用 Python
前文傳送門:
小白學(xué) Python 爬蟲(2):前置準(zhǔn)備(一)基本類庫的安裝
小白學(xué) Python 爬蟲(3):前置準(zhǔn)備(二)Linux基礎(chǔ)入門
小白學(xué) Python 爬蟲(4):前置準(zhǔn)備(三)Docker基礎(chǔ)入門
小白學(xué) Python 爬蟲(5):前置準(zhǔn)備(四)數(shù)據(jù)庫基礎(chǔ)
小編,你還有完沒完?。?!前置準(zhǔn)備都準(zhǔn)備這么多了,還不開始正文?。。?/p>
別急別急,前置準(zhǔn)備的最后一篇了,我們這幾篇總共介紹了基本類庫的安裝、 Linux 基礎(chǔ)、 Docker 基礎(chǔ)和本篇的爬蟲框架的安裝。主要是內(nèi)容有些多,小編怕寫在一起各位同學(xué)看不下去,所以才分成多篇內(nèi)容(悄悄的說,這樣小編也能多推幾天嘛)。
pyspider 安裝
pyspider 是由國人 binux 開源的強大的網(wǎng)絡(luò)爬蟲框架。 pyspider 自帶 WebUI (這個很關(guān)鍵),這樣我們可以實時的看到更多的數(shù)據(jù),并且它還帶有腳本編輯器、任務(wù)監(jiān)控器、項目管理器以及結(jié)果處理器,同時支持多種數(shù)據(jù)庫后端、多種消息隊列,還支持JavaScript渲染頁面的爬取,異常強大。
Github 鏈接: https://github.com/binux/pyspider
官方文檔: http://docs.pyspider.org/
開始安裝,我們還是使用 pip 進(jìn)行安裝:
pip install pyspider
如果各位是跟著小編一步一步裝環(huán)境的話,這里應(yīng)該會報錯。會報我們安裝 pycurl 失敗。這里我們需要使用 wheel 進(jìn)行安裝。
第一步,安裝 wheel 。
pip install wheel
下載 pycurl 的 wheel 文件進(jìn)行安裝,下載站點:http://www.lfd.uci.edu/~gohlke/pythonlibs/ ,找到對應(yīng)的 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
安裝完成后,重新執(zhí)行上面的安裝語句。
pip install pyspider
靜靜等待進(jìn)度條讀完,完成后可以直接在命令行下啟動 pyspider ,命令如下:
pyspider all
然后發(fā)現(xiàn),啟動報錯了,錯誤內(nèi)容如下:
SyntaxError: invalid syntax
因為 async 和 await 從 python3.7 開始已經(jīng)加入保留關(guān)鍵字中。所以async不能作為函數(shù)的參數(shù)名。
所以我們需要修改 pyspider 代碼中有用到 async 的地方,具體路徑為:
修改 %homepath%\AppData\Local\Programs\Python\Python37\Lib\site-packages\pyspider\ 路徑下的 python 文件中的 async 為 async1 (全部替換)
修改完成后,再執(zhí)行 pyspider all ,發(fā)現(xiàn)還是報錯,這不過這次的錯誤換成了:
ValueError: Invalid configuration: - Deprecated option 'domaincontroller': use 'http_authenticator
原因是因為 WsgiDAV 發(fā)布了版本 pre-release 3.x。
解決辦法:
還是在剛才的路徑中找到webui文件里面的 webdav.py 文件打開,修改第 209 行。
將:
'domaincontroller': NeedAuthController(app),
修改為:
'http_authenticator':{
'HTTPAuthenticator':NeedAuthController(app),
},
然后再執(zhí)行 pyspider all ,發(fā)現(xiàn)還是起不來,這是因為 pyspider 有依賴 PhantomJS ,我們再去下載 PhantomJS 進(jìn)行安裝,下載路徑為:https://phantomjs.org/download.html ,下載完成后,從壓縮包中將可執(zhí)行文件 phantomjs.exe 放入 %homepath%\AppData\Local\Programs\Python\Python37\Scripts ,有沒有感覺很熟悉,對嘞,這個和之前的 Chrome 的驅(qū)動文件放的是同一個位置。
這次我們輸入 pyspider all 進(jìn)行啟動,這次應(yīng)該可以啟動成功,然后打開瀏覽器訪問:http://localhost:5000/ ,可以看到如下頁面:
證明我們的 pyspider 已經(jīng)安裝成功了。
Scrapy 安裝
Scrapy 這個就不用我介紹了吧,鼎鼎大名,接下來我們主要介紹安裝過程。
Scrapy 官網(wǎng): https://scrapy.org/
各位同學(xué)的電腦環(huán)境應(yīng)該和小編的相差不遠(yuǎn)(如果是使用 win10 的話),小編也沒有背著各位同學(xué)裝過其他東西。
安裝命令:
pip install scrapy
由于 Scrapy 依賴了大量的第三方的包,所以在執(zhí)行上面的命令后并不會馬上就下載 Scrapy ,而是會先不斷的下載第三方包,包括并不限于以下幾種:
等待命令執(zhí)行完成后,直接輸入 scrapy 進(jìn)行驗證。
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
如果能正常出現(xiàn)以上內(nèi)容,說明我們已經(jīng)安裝成功了。
因為小編電腦安裝 Scrapy 未出現(xiàn)其他問題,一切都很順利,無法做其他有問題情況的演示,理論上 Scrapy 安裝出現(xiàn)各種問題才算正常情況,小編這種一次過的只能說是運氣好。
前置準(zhǔn)備到這里就全部結(jié)束,我們接下來開始介紹 HTTP 基礎(chǔ)。
參考
http://c.biancheng.net/view/2745.html
https://cuiqingcai.com/5407.html
聯(lián)系客服