Python爬蟲 selenium+PhantomJS 介紹、安裝、使用
之前用Java做過爬蟲,也用到過selenium和PhantomJS。最近痴迷於python爬蟲,將selenium+PhantomJS在python中的應用詳細總結一下。
一、Selenium介紹
Selenium 是什麼?一句話,自動化測試工具。它支援各種瀏覽器,包括 Chrome,Safari,Firefox 等主流介面式瀏覽器,如果你在這些瀏覽器裡面安裝一個 Selenium 的外掛,那麼便可以方便地實現Web介面的測試。換句話說叫 Selenium 支援這些瀏覽器驅動。Selenium支援多種語言開發,比如 Java,C,Ruby等等,有 Python 嗎?那是必須的!安裝只要cmd中 pip install selenium 即可。
二、爬蟲為什麼要用selenium
對於一般網站來說scrapy、requests、beautifulsoup等都可以爬取,但是有些資訊需要執行js才能顯現,而且你肉眼所能看到的基本都能爬取下來,在學習中遇到了,就記錄下來方便以後檢視。
webdrive是selenium中一個函式:
1 from selenium import webdriver
2 driver = webdriver.PhantomJS()
3 driver.get('網址')
其中PhantomJS同時可以換成Chrome、Firefox、Ie等等,但是PhantomJS是一個無頭的瀏覽器,執行是不會跳出相應的瀏覽器,執行相對效率較高。在除錯中可以先換成Chrome,方便除錯,最後再換成PhantomJS即可。
三、Selenium安裝
1、cmd中 pip install selenium
2、通過PyCharm安裝第三方包的方法 入下圖:
(1):
(2):
四、PhantomJS介紹
PhantomJS是一個基於webkit的JavaScript API。它使用QtWebKit作為它核心瀏覽器的功能,使用webkit來編譯解釋執行JavaScript程式碼。任何你可以在基於webkit瀏覽器做的事情,它都能做到。它不僅是個隱形的瀏覽器,提供了諸如CSS選擇器、支援Web標準、DOM操作、JSON、HTML5、Canvas、SVG等,同時也提供了處理檔案I/O的操作,從而使你可以向作業系統讀寫檔案等。PhantomJS的用處可謂非常廣泛,諸如前端無介面自動化測試(需要結合Jasmin)、網路監測、網頁截圖等。
五、PhantomJS安裝
把下載下來的phantomjs.exe移到你所用python資料夾下的Script中就可以使用了
安裝完畢,下面進行測試一下:
from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get("http://hotel.qunar.com/")
data = driver.title
print data