PhantomJS是一個可編寫腳本的無頭網頁瀏覽器。它運行在Windows,macOS,Linux和FreeBSD上。
使用QtWebKit作爲後端,它爲各種Web標準提供快速和本機支持:DOM處理,CSS選擇器,JSON,Canvas和SVG,
PhantomJS的用處可謂非常廣泛,諸如網絡監測、網頁截屏、無需瀏覽器的 Web 測試、頁面訪問自動化等。在
python中經常用來獲取動態數據
下面我們來講一下phantomjs的安裝
phantomjs官方下載地址:http://phantomjs.org/download.html
根據自己的情況選擇下載壓縮包,這裏我用的是windows7,所以選下面紅框裏的這個
下載完成之後解壓,爲了防止文件不經意間的丟失,我們將它移動到一個不容易丟失的地方,比如我這裏將它放在我安裝pycharm的同級目錄下
打開文件找到如下圖所示的文件,點擊
如果出現這樣的窗口說明你可以運行js代碼了
完成之後還有最重要的一步,就是將phantomjs添加到環境變量中
右鍵 我的電腦>>屬性>>高級系統設置>>環境變量
然後找到PATH點擊編輯
將你的文件路徑添加進去,記得要在前方加個英文的分號,例如我要添加的就是:“;D:\python\phantomjs-2.1.1-windows\bin”
然後一路點擊確定
到此phantomjs就安裝完成了。
接下來我舉個使用phantomjs的簡單的例子:
如果沒有將phantomjs加入到環境變量中,使用phantomjs的時候需要在()裏面寫上phantomjs.exe的路徑,
添加到環境變量之後()裏的內容可以省略
from selenium import webdriver
# 使用webkit無界面瀏覽器
# 如果路徑爲exe啓動程序的路徑 那麼該路徑需要加一個r
driver = webdriver.PhantomJS(executable_path = r'D:/python/phantomjs-2.1.1-windows/bin/phantomjs.exe')
# 獲取指定網頁的數據
driver.get('http://news.sohu.com/scroll/')
print(driver.find_element_by_class_name('title').text)
結果爲:
當然這裏的數據是動態的,每次獲取的數據都可能不一樣
紅色字體爲警告:selenium對PhantomJS的使用以被廢棄,請使用headless。不用管這個,這個不是錯誤,放心使用就行了