1. 程式人生 > >Python爬蟲 selenium+PhantomJS 介紹、安裝、使用

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