(1)購買阿里云服務器
在正式進入采集工作之前,是一系列的準備工作。首先登錄進入阿里云官網,進行身份認證與學生認證,在阿里云“云翼計劃”優惠條件下購買3個月的云服務器ESC(具體圖例如下面兩圖),操作之后成功創建阿里云ESC實例。同時根據阿里云官網上相關知識(產品使用須知、軟件安裝及環境配置等)了解云服務器的日常操作。
----------
(2)安裝python與scrapy
安裝python:到python官網下載python2.7版本,下載之后配置好環境變量(后面發現好像不用安裝);
安裝scrapy:首先到scrapy的官網上下載scrapy1.3.3版本。
----------
(3)連接遠程服務器
-MobaxTerm
前往MobaxTerm官網下載MobaxTerm的Free版本,進行安裝。
安裝成功之后,按照以下步驟與遠程服務器相連接:新建Session、選擇SSH、輸入正確的host與username(同時可以進行MobaxTremd的界面設置)、點擊'OK'、輸入正確的實例密碼之后,此時MobaxTerm已經與遠程服務器建立了連接。
在這里遇到的問題就是自己在連接到遠程服務器的時候,忘了實例密碼,導致一直登不上,后來才發現可以直接到阿里云控制臺更改,記得要重啟實例新的密碼才能生效。
-scrapy安裝配置
接著,首先是需要建立一個虛擬環境,以避免包的混亂和沖突。創建虛擬環境之后,使用命令切換至虛擬環境進行操作。'cd'基本功能是切換目錄。
?cd venv
然后進行scrapy的安裝與配置,使用命令“~# pip install scrapy",這時會出現錯誤提示,根據錯誤提示可知,是因為scrapy的依賴包沒有安裝好的緣故,主要包括lxml、twisted、cryptography等,在MobaxTerm的下載界面將這些依賴包下載好。
安裝twisted依賴包時使用命令:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple twisted
安裝cryptography依賴包使用以下命令,其中‘libssl-dev’和‘libffi-dev’是cryptography所需要的其他輔助包。
sudo apt-get install build-essential libssl-dev libffi-dev?
pip install cryptography
‘python-dev’、‘zlib1g-dev’、‘libxml2-dev’和libxslt1-dev是安裝lxml需要的包,需要在安裝lxml之前準備好。
pip install lxml
這里出現的錯誤就是已經顯示安裝上了依賴包,卻依然安裝不了Scrapy的問題。后來通過查閱資料,說是需要更新依賴包,于是寫了一行代碼(如第3張圖)結果就將scrapy安裝好了。。。(至今不知道最初的問題是怎么回事)
當以上scrapy依賴包安裝成功之后,再一次使用“~# pip install scrapy"命令,此時發現scrapy已經安裝成功。
-操作pycharm
進入pycharm的[官網][5],下載其最新專業版本,進行安裝。
安裝過程出現錯誤提示“java JDK 環境配置不正確”,于是重新進入java官網下載JDK,并完成后續環境變量設置。(不太清楚pycharm跟java之間聯系有多大,但的確是重新配置java之后,就能夠安裝上pycharm了)
接下來繼續進行pycharm的安裝,成功。然后在pycharm的setting中進行設置,主要包括與遠程服務器的連接、映射、操作等一系列相關設置。通過選擇“Browse Remote Host”可以看到遠程服務器的目錄結構。
----------
(4)數據采集
這一部分主要是根據老師給的PPT進行學習與采集,后期遇到很多問題,開始直接使用官網scrapy tutorial,并且官網的代碼可以直接粘貼至所有的過程都是依照文檔步驟走的,最后基本完成老師給的任務。
這里的問題是:在執行quotes爬蟲時,執行結果說明應該有113條結果,最后導出來的json只有85條,或許是因為沒有更新成功的原因?
另外,獲取的JSON文件在Pycharm中是沒有報錯,在json轉換成xml的過程,首先想直接以另存的格式實現。。。實際是不行的;然后就想直接使用在線json轉換成xml,這樣的方式是可以轉換成功為xml的,不過在用瀏覽器運行瀏覽時是報錯的;最后采取的方式是下載google插件google refine,不過通過這種方式依然不能直接將json轉換為xml,而是先將json轉換為html,然后通過Notepad++將其另存為xml格式。
對于xml文件的檢驗,采用瀏覽器運行瀏覽。