Scrapy爬蟲教程一 Windows下安裝Scrapy的方式和問題總結
Scrapy爬蟲教程二 淺析最煩人的反爬蟲手段
Scrapy爬蟲教程三 詳細的Python Scrapy模擬登錄知乎
Scrapy爬蟲教程四 Scrapy+Selenium有瀏覽器界面模擬登錄知乎
Scrapy爬蟲教程五 爬蟲部署
這階段閑著沒什么事把Python系統的學習了一下,基礎學完之后練習著用Django搭建了一個Blog并使用Nginx+Gunicorn部署到阿里云服務器上(不得不佩服阿里云的客服啊,真的很關心我啊,看我服務器快到期了一個勁的給我發郵件,真的是很想念我啊。。。),想著爬點有意思的網站,最開始只是使用requests和urllib還有http.cookiejar庫來模擬網絡請求和模擬登錄來練習一下基本功的(這里成功的拿到了我們公司的考勤記錄,然后還有修改考勤信息的接口,那我是不是就可以做些事情了?放心吧,我是不會那么做的。。。)。
傳統方式安裝Scrapy(慎用)
練習了基本的操作之后,當然就要找框架來進行爬蟲實驗啊。于是就在網上找Windows 64安裝Scrapy的方法,查到的都是非常繁瑣的安裝方式,由于Scrapy有很多個依賴,所以在安裝Scrapy之前你就要先安裝他的所有的依賴啊,下面列舉出部分依賴庫:
lxml模塊 cryptography模塊 pywin32模塊 Twisted模塊 pyOpenSSL模塊等等,大家想想啊,Python怎么會那么順利的讓我們安裝完這里模塊呢?答案是一定的。有些人會說,我就不信我直接一個命令pip install Scrapy看看能不能直接安裝上,敲完命令直接之歌回車鍵,看見命令行工具上顯示的安裝過程還笑出聲來,終于可以進行爬蟲了,沒想到最后出現了一個錯誤failed with error code 1 in C:\****\****\****\****\Temp\pip-build-5f9_epll\Twisted\,于是乎就查到原來沒有Twisted這個依賴的模塊,想著pip install Twisted最后命令行工具上還是繼續報錯,安裝失敗啊(pip install Twisted[windows_platform]這個命令也試過,沒有什么用的)。
安裝Twisted模塊
在這里告訴大家一個方法安裝Twisted模塊的方法啊,首先需要先安裝wheel模塊,這回使用pip install wheel不會報錯的,直接安裝成功啦。之后打開命令行工具輸入Python進入Python環境(也就是輸入Python命令),看到我的Python版本是3.6.1的,去https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted這個地址下載對應版本的Twisted,
Twisted, an event-driven networking engine.
Twisted?17.9.0?cp27?cp27m?win32.whl
Twisted?17.9.0?cp27?cp27m?win_amd64.whl
Twisted?17.9.0?cp34?cp34m?win32.whl
Twisted?17.9.0?cp34?cp34m?win_amd64.whl
Twisted?17.9.0?cp35?cp35m?win32.whl
Twisted?17.9.0?cp35?cp35m?win_amd64.whl
Twisted?17.9.0?cp36?cp36m?win32.whl
Twisted?17.9.0?cp36?cp36m?win_amd64.whl
cp后面跟的數字是python的版本,比如現在我的python版本是3.5,那么需要下載cp35;
根據下面圖片中的Python是win32還是arm64選擇Twisted的版本,針對我的Python版本我下載了倒數第二個whl文件,之后進行安裝pip install Twisted?17.9.0?cp36?cp36m?win32.whl(注意這里是文件全名),這時出現一個[filename.whl is not supported wheel on this platform]的錯誤,這時有人會說,樓主,你騙我。。。我這輩子都不會原諒你的。。。客官別急,遇到這種情況你就把win32和win64的版本都下下來分別安裝試一下,我的系統是64位裝arm64位的whl能成功
好了大功告成了,可以安裝Scrapy了,如果出現缺少模塊。那你就直接pip install ***進行安裝吧,最難搞定的Twisted都搞定了還怕什么呢?
非常爽的安裝Scrapy方式
首先去https://www.anaconda.com/download/這個網站下載一個Anaconda客戶端,并進行安裝(網上有好多安裝教程的),之后在命令行輸入conda install scrapy命令就下載安裝了Scrapy模塊,就是這么簡單,如果你使用conda install scrapy這個命令時出現Proceed ([y]/n)? 直接輸入一個y點擊回車就好了,就會在命令行工具上看見安裝需要安裝的模塊,安裝完直接輸入Scrapy檢驗是否安裝成功,如果出現pkg_resources.DistributionNotFound: The 'pyasn1-modules' distribution was not found and is required by service-identity類似的情況,那就使用pip install pyasn1-modules進行安裝就行了。安裝成功會像下面一樣的:
好了,可以"收攤",回家吃飯了。。。