上一節中,我們了解了ChromeDriver的配置方法,配置完成之后便可以用Selenium驅動Chrome瀏覽器來做相應網頁的抓取。
那么對於Firefox來說,也可以使用同樣的方式完成Selenium的對接,這時需要安裝另一個驅動GeckoDriver。
本節中,我們來介紹一下GeckoDriver的安裝過程。
1. 相關鏈接
2. 准備工作
在這之前請確保已經正確安裝好了Firefox瀏覽器並可以正常運行,安裝過程不再贅述。
3. 下載GeckoDriver
我們可以在GitHub上找到GeckoDriver的發行版本,當前最新版本為0.18,下載頁面如圖1-18所示。
圖1-18 GeckoDriver下載頁面
這里可以在不同的平台上下載,如Windows、Mac、Linux、ARM等平台,我們可以根據自己的系統和位數選擇對應的驅動下載,若是Windows 64位,就下載geckodriver-v0.18.0-win64.zip。
4. 環境變量配置
在Windows下,可以直接將geckodriver.exe文件拖到Python的Scripts目錄下,如圖1-19所示。
圖1-19 將geckodriver.exe文件拖到Python Scripts目錄
此外,也可以單獨將其所在路徑配置到環境變量,具體的配置方法請參1.1節。
在Linux和Mac下,需要將可執行文件配置到環境變量或將文件移動到屬於環境變量的目錄里。
例如,要移動文件到/usr/bin目錄。首先在命令行模式下進入其所在路徑,然后將其移動到/usr/bin:
|
1
|
sudo mv geckodriver /usr/bin
|
當然,也可以將GeckoDriver配置到$PATH。首先,可以將可執行文件放到某一目錄,目錄可以任意選擇,例如將當前可執行文件放在/usr/local/geckodriver目錄下。接下來可以修改~/.profile文件,命令如下:
|
1
|
vi ~/.profile
|
然后添加如下一句配置:
|
1
|
export PATH="$PATH:/usr/local/geckodriver"
|
保存后執行如下命令即可完成配置:
|
1
|
source ~/.profile
|
5. 驗證安裝
配置完成后,就可以在命令行下直接執行geckodriver命令測試:
|
1
|
geckodriver
|
這時如果控制台有類似圖1-20所示的輸出,則證明GeckoDriver的環境變量配置好了。
圖1-20 控制台輸出
隨后執行如下Python代碼,在程序中測試一下:
|
1
2
|
from selenium import webdriver
browser = webdriver.Firefox()
|
運行之后,若彈出一個空白的Firefox瀏覽器,則證明所有的配置都沒有問題;如果沒有彈出,請檢查之前的每一步配置。
如果沒有問題,接下來就可以利用Firefox配合Selenium來做網頁抓取了。
6. 結語
現在我們就可以使用Chrome或Firefox進行網頁抓取了,但是這樣可能有個不方便之處:因為程序運行過程中需要一直開着瀏覽器,在爬取網頁的過程中瀏覽器可能一直動來動去。目前最新的Chrome瀏覽器版本已經支持無界面模式了,但如果版本較舊的話,就不支持。所以這里還有另一種選擇,那就是安裝一個無界面瀏覽器PhantomJS,此時抓取過程會在后台運行,不會再有窗口出現。在下一節中,我們就來了解一下PhantomJS的相關安裝方法。
