Python爬蟲基礎初探selenium
Python爬蟲、數(shù)據(jù)分析、網(wǎng)站開發(fā)等案例教程視頻免費在線觀看
https://space.bilibili.com/523606542
Selenium
Selenium是一個Web的自動化測試工具,最初是為網(wǎng)站自動化測試而開發(fā)的,就像玩游戲用的按鍵精靈,可以按指定的命令自動操作。
Selenium測試工具直接操控瀏覽器中,就像真正的用戶在操作一樣。Selenium可以根據(jù)的指令,讓瀏覽器自動加載頁面,獲取需要的數(shù)據(jù),甚至頁面截屏,或者判斷網(wǎng)站上某些動作是否發(fā)生等。
selenium的用途
?。?)、selenium可以驅動瀏覽器自動執(zhí)行自定義好的邏輯代碼,也就是可以通過代碼完全模擬成人類使用瀏覽器自動訪問目標站點并操作,那我們也可以拿它來做爬蟲。
?。?)、selenium本質上是通過驅動瀏覽器,完全模擬瀏覽器的操作,比如跳轉、輸入、點擊、下拉等...進而拿到網(wǎng)頁渲染之后的結果,可支持多種瀏覽器
selenium是優(yōu)缺點
?。?)優(yōu)點
優(yōu)點就是可以幫我們避開一系列復雜的通信流程,例如在我們之前學習的requests模塊,那么requests模塊在模擬請求的時候是不是需要把素有的通信流程都分析完成后才能通過請求,然后返回響應。假如目標站點有一系列復雜的通信流程,例如的登錄時的滑動驗證等...那么你使用requests模塊的時候是不是就特別麻煩了。不過你也不需要擔心,因為網(wǎng)站的反爬策略越高,那么用戶的體驗效果就越差,所以網(wǎng)站都需要在用戶的淫威之下降低安全策略。
再看一點requests請求庫能不能執(zhí)行js?是不是不能呀!那么如果你的網(wǎng)站需要發(fā)送ajax請求,異步獲取數(shù)據(jù)渲染到頁面上,是不是就需要使用js發(fā)送請求了。那瀏覽器的特點是什么?是不是可以直接訪問目標站點,然后獲取對方的數(shù)據(jù),從而渲染到頁面上。那這些就是使用selenium的好處!
(2)缺點
使用selenium本質上是驅動瀏覽器對目標站點發(fā)送請求,那瀏覽器在訪問目標站點的時候,是不是都需要把靜態(tài)資源都加載完畢。html、css、js這些文件是不是都要等待它加載完成。是不是速度特別慢。那用它的壞處就是效率極低!所以我們一般用它來做登錄驗證。
1. Selenium工作原理

如圖所示,通過Python來控制Selenium,然后讓Selenium 控制瀏覽器,操縱瀏覽器,這樣就實現(xiàn)了使用Python間接的操控瀏覽器。
1.1 Selenium配置
Selenium支持多種瀏覽器,最常見的就是火狐和谷歌瀏覽器。首先在電腦上下載瀏覽器,瀏覽器版本不宜過新。
火狐:截圖如下

谷歌:截圖如下

1.2 瀏覽器驅動
Selenium具體怎么就能操縱瀏覽器呢?這要歸功于瀏覽器驅動,Selenium可以通過API接口實現(xiàn)和瀏覽器驅動的交互,進而實現(xiàn)和瀏覽器的交互。所以要配置瀏覽器驅動。
火狐驅動下載地址:
http://npm.taobao.org/mirrors/geckodriver/
谷歌驅動下載地址:
https://npm.taobao.org/mirrors/chromedriver/
配置瀏覽器驅動:
將下載好的瀏覽器驅動解壓,將解壓出的exe文件放到Python的安裝目錄下,也就是和python.exe同目錄即可。

1.3 使用Selenium
安裝selenium模塊,python借助這個模塊驅動瀏覽器,使用如下命令行安裝這個模塊即可
pip install selenium
2 快速入門
# 打開百度首頁 from selenium import webdriver driver = webdriver.chrome() url = 'https : / /www.baidu . com/ ' driver.get(url) #打開get就類似與在瀏覽器地址欄里面放入網(wǎng)址 driver.get(url) #退出瀏覽器 driver.quit()
以上就是Python爬蟲基礎初探selenium的詳細內容,更多關于Python爬蟲基礎selenium的資料請關注腳本之家其它相關文章!
相關文章
Python AutoCAD 系統(tǒng)設置的實現(xiàn)方法
這篇文章主要介紹了Python AutoCAD 系統(tǒng)設置的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04
python?管理系統(tǒng)實現(xiàn)mysql交互的示例代碼
這篇文章主要介紹了python?管理系統(tǒng)實現(xiàn)mysql交互,本文通過實例代碼圖文相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12
Python tkinter實現(xiàn)的圖片移動碰撞動畫效果【附源碼下載】
這篇文章主要介紹了Python tkinter實現(xiàn)的圖片移動碰撞動畫效果,涉及Python tkinter模塊操作圖片基于坐標動態(tài)變換與數(shù)值判定實現(xiàn)移動、碰撞檢測等相關操作技巧,需要的朋友可以參考下2018-01-01
使用python實現(xiàn)將excel數(shù)據(jù)導入word并設置字體樣式的代碼示例
在日常辦公和數(shù)據(jù)處理中,我們經(jīng)常需要將Excel中的數(shù)據(jù)導入到Word文檔中,手動完成這個過程可能既費時又容易出錯,本文將介紹如何使用Python自動化這一任務,需要的朋友可以參考下2024-02-02

