Selenium
1.安裝與配置
selenium是一個可以用來模仿用戶使用瀏覽器的工具,它其實是作為一個接口讓你的程序可以模擬瀏覽器的真實訪問,所以一般也拿來做自動化測試。
>>>pip3 install selenium ?安裝
另外,selenium實際上需要通過瀏覽器的driver來操縱瀏覽器,所以在使用selenium操縱所需瀏覽器時,需要先安裝對應的瀏覽器的driver文件,一般的driver文件就是一個比較小的可執行文件,例如下圖就是Chrome的driver文件。
安裝好后,就可以在程序中使用了,以下是初始化的代碼,其中參數executable_path后就填寫driver文件的路徑就好了。
2.獲取網頁源碼
當執行以下幾行代碼時,程序會自動打開一個瀏覽器頁面,以及打印通過JS加載后生成當一個html頁面。
2.獲取網頁元素的查找
當然,如果你不習慣用selenium自帶的網頁解析方法,我們也可以用BeautifulSoup.
當然,如果你想對取出的元素進行其它操作,例如點擊,那么就必須使用selenium自帶的方法。
3.模擬登錄
我們可以用send_keys方法向input標簽輸入值,包括用戶、密碼進行登錄
4.模擬鼠標滑動
5.設置chromedriver不加載圖片
有時候,在特定情況下為了提高爬蟲效率,不希望加載圖片,這時可以進行一定的設置。
PhantomJS
PhantomJS是一個無界面瀏覽器,這個瀏覽器比一般的有界面瀏覽器要輕量,某些時候效率也更高,但是請注意:多進程情況下這個瀏覽器性能會下降很嚴重! 另外在某些Linux、Ubuntu系統沒有界面時,就可以使用這個瀏覽器。
安裝:http://phantomjs.org/download.html
其它方面的使用和上面其它瀏覽器一樣。
其它瀏覽器的無界面訪問
對于python來說,除了PhantomJS外,在其它瀏覽器上也可以進行無界面訪問:
1.安裝pyvirtualdisplay
>>>pip3 install pyvirtualdisplay
2.配置pyvirtualdisplay
每次打開browser前,添加如下幾行代碼就可以進行無界面訪問了。
另外,需要注意的是,這個庫只能在Linux下運行,當然windows下需要無界面運行的可能性也不大。