Python爬蟲、數(shù)據(jù)分析、網(wǎng)站開發(fā)等案例教程視頻免費(fèi)在線觀看
https://space.bilibili.com/523606542
Selenium是一個(gè)Web的自動(dòng)化測(cè)試工具,最初是為網(wǎng)站自動(dòng)化測(cè)試而開發(fā)的,就像玩游戲用的按鍵精靈,可以按指定的命令自動(dòng)操作。
Selenium測(cè)試工具直接操控瀏覽器中,就像真正的用戶在操作一樣。Selenium可以根據(jù)的指令,讓瀏覽器自動(dòng)加載頁(yè)面,獲取需要的數(shù)據(jù),甚至頁(yè)面截屏,或者判斷網(wǎng)站上某些動(dòng)作是否發(fā)生等。
(1)、selenium可以驅(qū)動(dòng)瀏覽器自動(dòng)執(zhí)行自定義好的邏輯代碼,也就是可以通過(guò)代碼完全模擬成人類使用瀏覽器自動(dòng)訪問(wèn)目標(biāo)站點(diǎn)并操作,那我們也可以拿它來(lái)做爬蟲。
?。?)、selenium本質(zhì)上是通過(guò)驅(qū)動(dòng)瀏覽器,完全模擬瀏覽器的操作,比如跳轉(zhuǎn)、輸入、點(diǎn)擊、下拉等...進(jìn)而拿到網(wǎng)頁(yè)渲染之后的結(jié)果,可支持多種瀏覽器
(1)優(yōu)點(diǎn)
優(yōu)點(diǎn)就是可以幫我們避開一系列復(fù)雜的通信流程,例如在我們之前學(xué)習(xí)的requests模塊,那么requests模塊在模擬請(qǐng)求的時(shí)候是不是需要把素有的通信流程都分析完成后才能通過(guò)請(qǐng)求,然后返回響應(yīng)。假如目標(biāo)站點(diǎn)有一系列復(fù)雜的通信流程,例如的登錄時(shí)的滑動(dòng)驗(yàn)證等...那么你使用requests模塊的時(shí)候是不是就特別麻煩了。不過(guò)你也不需要擔(dān)心,因?yàn)榫W(wǎng)站的反爬策略越高,那么用戶的體驗(yàn)效果就越差,所以網(wǎng)站都需要在用戶的淫威之下降低安全策略。
再看一點(diǎn)requests請(qǐng)求庫(kù)能不能執(zhí)行js?是不是不能呀!那么如果你的網(wǎng)站需要發(fā)送ajax請(qǐng)求,異步獲取數(shù)據(jù)渲染到頁(yè)面上,是不是就需要使用js發(fā)送請(qǐng)求了。那瀏覽器的特點(diǎn)是什么?是不是可以直接訪問(wèn)目標(biāo)站點(diǎn),然后獲取對(duì)方的數(shù)據(jù),從而渲染到頁(yè)面上。那這些就是使用selenium的好處!
?。?)缺點(diǎn)
使用selenium本質(zhì)上是驅(qū)動(dòng)瀏覽器對(duì)目標(biāo)站點(diǎn)發(fā)送請(qǐng)求,那瀏覽器在訪問(wèn)目標(biāo)站點(diǎn)的時(shí)候,是不是都需要把靜態(tài)資源都加載完畢。html、css、js這些文件是不是都要等待它加載完成。是不是速度特別慢。那用它的壞處就是效率極低!所以我們一般用它來(lái)做登錄驗(yàn)證。
如圖所示,通過(guò)Python來(lái)控制Selenium,然后讓Selenium 控制瀏覽器,操縱瀏覽器,這樣就實(shí)現(xiàn)了使用Python間接的操控瀏覽器。
Selenium支持多種瀏覽器,最常見(jiàn)的就是火狐和谷歌瀏覽器。首先在電腦上下載瀏覽器,瀏覽器版本不宜過(guò)新。
火狐:截圖如下
谷歌:截圖如下
Selenium具體怎么就能操縱瀏覽器呢?這要?dú)w功于瀏覽器驅(qū)動(dòng),Selenium可以通過(guò)API接口實(shí)現(xiàn)和瀏覽器驅(qū)動(dòng)的交互,進(jìn)而實(shí)現(xiàn)和瀏覽器的交互。所以要配置瀏覽器驅(qū)動(dòng)。
火狐驅(qū)動(dòng)下載地址:
http://npm.taobao.org/mirrors/geckodriver/
谷歌驅(qū)動(dòng)下載地址:
https://npm.taobao.org/mirrors/chromedriver/
配置瀏覽器驅(qū)動(dòng):
將下載好的瀏覽器驅(qū)動(dòng)解壓,將解壓出的exe文件放到Python的安裝目錄下,也就是和python.exe同目錄即可。
安裝selenium模塊,python借助這個(gè)模塊驅(qū)動(dòng)瀏覽器,使用如下命令行安裝這個(gè)模塊即可
pip install selenium
# 打開百度首頁(yè) from selenium import webdriver driver = webdriver.chrome() url = 'https : / /www.baidu . com/ ' driver.get(url) #打開get就類似與在瀏覽器地址欄里面放入網(wǎng)址 driver.get(url) #退出瀏覽器 driver.quit()
以上就是Python爬蟲基礎(chǔ)初探selenium的詳細(xì)內(nèi)容,更多關(guān)于Python爬蟲基礎(chǔ)selenium的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
標(biāo)簽:山東 江蘇 宿遷 常州 成都 六盤水 駐馬店 蘭州
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python爬蟲基礎(chǔ)初探selenium》,本文關(guān)鍵詞 Python,爬蟲,基礎(chǔ),初探,selenium,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。