好吧,廢話講太多(下略三千字)。今天要玩的是批踢踢的文章爬蟲。
Github上相關的程式碼很多,根據Readme挑了一個看起來合適的切入點。 https://github.com/jwlin/ptt-web-crawler 嗯,是Python。
在目前的Mac版本(10.12)已有內建Python2.7。直接跑起來卻一直出現error。胡亂安裝一陣相關套件,卻還是一直回報pyOpenssl相關錯誤。才知道原來在本機跑python還需要設定Virtual Environment才行。
根據說明,virtual environment是用來保持各專案的獨立性。解決了A專案需要版本 1.x 但 B專案需要 4.x 的這類問題。
可透過pip安裝。
$ pip install virtualenv
基本使用:
1. 在專案資料夾中建立virtual environment
$ cd my_project_folder
$ virtualenv venv
以上動作會在該資料夾中建立一個 venv 的資料夾。裡面會放Python的相關執行檔與一份用來安裝其他library的pip library。(venv也可使用其他名稱)(這資料夾在mac finder中看不到,是隱藏資料夾。)
也可以指定python interpreter
$ virtualenv -p /usr/bin/python2.7 venv
2. 使用以下指令啟動virtual env
$ source venv/bin/activate
當virtual env啟動時,會出現在提示符號右邊如:
(venv)Your-Computer:your_project UserName$
啟動後,任何使用pip安裝的套件會裝在venv中。
$ pip install requests
3. 如要關閉virtual environment
$ deactivate
接下來就可以開始玩囉~
基本上照說明執行就可以動了。以下依需求fork到我的Github上做了一點小修改。
原本設定參數
-i [起始頁] [終止頁]
,終止頁若設-1代表爬到最後。不過因為我只需要爬最新幾頁,所以修改參數,若起始頁設定-1,則會往前數n頁再爬出來,參數這樣設
-i -1 n
,就會爬該版的最後n頁文章內容。目前大概這樣,有興趣的朋友可以到Github下載下來玩。
0 Comments:
Post a Comment