版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Selenium和ChromeDriver技術(shù)應(yīng)用案例——網(wǎng)站數(shù)據(jù)采集本章學(xué)習(xí)目標(biāo)分析業(yè)務(wù)網(wǎng)站新房網(wǎng)的網(wǎng)頁結(jié)構(gòu)和內(nèi)容理解ChromeDriver和Selenium的安裝和配置。學(xué)會使用ChromeDriver和Selenium實(shí)現(xiàn)網(wǎng)站數(shù)據(jù)采集。熟悉業(yè)務(wù)網(wǎng)站新房數(shù)據(jù)采集的需求和流程。使用PyMySQL庫實(shí)現(xiàn)數(shù)據(jù)的持久化5.1 任務(wù)描述
本案例通過Chrome瀏覽器綜合分析業(yè)務(wù)網(wǎng)站新房網(wǎng)的網(wǎng)頁結(jié)構(gòu)和內(nèi)容,使用Selenium和ChromeDriver技術(shù)來實(shí)現(xiàn)貝殼新房網(wǎng)站數(shù)據(jù)采集。然后通過進(jìn)一步分析主頁后,獲取字段為房屋名稱(name)、地址(location)、價格(price)、房屋面積(size)的數(shù)據(jù)。最后,使用pymysql庫在MySQL數(shù)據(jù)管理系統(tǒng)中創(chuàng)建指定的數(shù)據(jù)庫house_database和數(shù)據(jù)表house_info,實(shí)現(xiàn)數(shù)據(jù)的持久化存儲。5.2 ChromeDriver5.2.1ChromeDriver的概述
ChromeDriver由三個獨(dú)立部分組成:瀏覽器本身(Chrome),由selenium項目(驅(qū)動程序)提供的語言綁定,以及從Chromium項目下載的可執(zhí)行文件,它充當(dāng)Chrome和驅(qū)動程序之間的橋梁。ChromeDriver是一個與GoogleChrome瀏覽器兼容的驅(qū)動程序,它允許我們通過編程方式控制和自動化Chrome瀏覽器的操作。作為一個關(guān)鍵的工具,ChromeDriver在爬蟲開發(fā)中發(fā)揮著重要的作用。它提供了與瀏覽器的無縫交互,使我們能夠模擬用戶操作,執(zhí)行自動化任務(wù),例如模擬登錄、數(shù)據(jù)采集和頁面導(dǎo)航等。5.2.2 ChromeDriver的安裝
圖5-1定位“關(guān)于GoogleChrome”1.確定Chrome瀏覽器的版本首先,需要確定您正在使用的Chrome瀏覽器的版本。在Chrome瀏覽器中,點(diǎn)擊右上角的菜單按鈕,選擇"幫助",然后點(diǎn)擊"關(guān)于GoogleChrome"。如圖5-1在新打開的頁面中,您將看到Chrome瀏覽器的版本號,如圖5-2。
圖5-2查詢Chrome瀏覽器版本2.下載對應(yīng)版本的ChromeDriver在安裝ChromeDriver之前,您需要下載與您的Chrome瀏覽器版本相匹配的ChromeDriver。您可以在ChromeDriver的官方網(wǎng)站(sites.google/chromium/driver/downloads)上找到可用版本的下載鏈接如圖5-3。點(diǎn)擊下載鏈接,選擇適合您操作系統(tǒng)的版本,如圖5-4。
圖5-3ChromeDriver和Chrome瀏覽器版本匹配
圖5-4下載ChromeDriver安裝包3.解壓ChromeDriver下載完成后,將ChromeDriver解壓縮到您選擇的目錄中。您可以將其解壓縮到任何方便的位置,例如您的項目文件夾或系統(tǒng)路徑中。在此直接放入Python的Scripts目錄中。4.驗證安裝在安裝完成后,打開命令行或終端窗口,并輸入以下命令驗證ChromeDriver是否正確安裝: chromedriver--version如果安裝成功,您將看到ChromeDriver的版本號。通過按照以上步驟,您已經(jīng)成功安裝了ChromeDriver。5.3
Selenium5.3.1
Selenium的概述
Selenium是一個廣泛使用的自動化測試框架,也是爬蟲工程師在網(wǎng)站模擬登錄和數(shù)據(jù)采集中常用的工具。它提供了一組功能強(qiáng)大的API,允許我們以編程方式控制瀏覽器的行為,模擬用戶操作和提取網(wǎng)頁數(shù)據(jù)。Selenium支持多種瀏覽器,包括Chrome、Firefox、Safari和Edge等,因此它具有很強(qiáng)的跨瀏覽器兼容性。通過Selenium,我們可以自動打開瀏覽器,導(dǎo)航到特定的URL,填充表單,點(diǎn)擊按鈕,提取網(wǎng)頁內(nèi)容等等。這使得Selenium成為模擬登錄和數(shù)據(jù)采集的理想選擇。Selenium的核心組件是WebDriver,它是一個用于瀏覽器自動化的API。WebDriver可以與不同的瀏覽器驅(qū)動程序(如ChromeDriver)進(jìn)行交互,通過發(fā)送指令和接收響應(yīng)來控制瀏覽器的行為。我們可以使用WebDriver來定位和操作網(wǎng)頁上的元素,例如文本框、按鈕和鏈接等。Selenium還提供了豐富的工具和庫,用于處理網(wǎng)頁中的JavaScript、處理彈出窗口、處理框架和處理異步加載等情況。這使得我們能夠更好地模擬用戶行為,并處理各種復(fù)雜的網(wǎng)頁交互??偠灾?,Selenium是一個強(qiáng)大的工具,為爬蟲工程師提供了控制瀏覽器行為和進(jìn)行網(wǎng)站模擬登錄和數(shù)據(jù)采集的能力。5.3.2
Selenium的安裝1.安裝Selenium參考前面章節(jié),關(guān)鍵步驟如
圖5-5安裝Selenium2.驗證安裝在安裝完成后,可以在命令窗口中運(yùn)行“importselenium”命令,如果沒有報錯,則表示安裝成功,如圖
圖5-6Selenium安裝驗證或者可以編寫一個簡單的Python腳本來驗證Selenium是否正確安裝。創(chuàng)建一個Python文件,命名為test_selenium.py: fromseleniumimportwebdriver#創(chuàng)建一個Chrome瀏覽器驅(qū)動程序?qū)嵗?driver=webdriver.Chrome()#打開網(wǎng)頁 driver.get(".baidu") print(driver.title)#打印網(wǎng)頁標(biāo)題 driver.quit()#關(guān)閉瀏覽器
保存文件后,在命令行或終端窗口中運(yùn)行以下命令: pythontest_selenium.py
如果一切正常,您將看到Chrome瀏覽器自動打開,并在終端中顯示網(wǎng)頁的標(biāo)題。
通過按照以上步驟,您已經(jīng)成功安裝了Selenium?,F(xiàn)在,您可以在爬蟲項目中使
用Selenium來模擬用戶操作和進(jìn)行網(wǎng)站數(shù)據(jù)采集。5.5 小結(jié)
本任務(wù)通過使用Selenium庫實(shí)現(xiàn)了從業(yè)務(wù)網(wǎng)站采集新房數(shù)據(jù)并將其存儲到MySQL數(shù)據(jù)庫的全過程。首先,通過瀏覽器驅(qū)動,代碼模擬用戶訪問網(wǎng)頁、定位元素并提取信息。定位采用XPath和CSS選擇器等方式,保證準(zhǔn)確捕獲數(shù)據(jù)。數(shù)據(jù)采集函數(shù)中使用WebDriverWait和expected_conditions等待特定元素的出現(xiàn),確保數(shù)據(jù)獲取的準(zhǔn)確性。其次,通過pymysql庫建立數(shù)據(jù)庫連接,創(chuàng)建house_info數(shù)據(jù)表用于存
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東專用2024新高考?xì)v史二輪復(fù)習(xí)單元限時集訓(xùn)一中國古代史含解析
- 2024年粵教版八年級數(shù)學(xué)下冊階段測試試卷868
- 2024年度二手房買賣委托一站式服務(wù)合同3篇
- 2022-2023學(xué)年云南昆明五華區(qū)五年級下冊語文期末試卷及答案
- 校外課程設(shè)計 英語
- 2022年廣東韶關(guān)新豐縣一年級上學(xué)期六單元語文試卷及答案
- 2021-2022學(xué)年江蘇省南京市棲霞區(qū)小學(xué)三年級上冊語文期末試題及答案
- 2020年浙江省杭州市椒江區(qū)六年級下冊期末語文試卷及答案
- 2024年標(biāo)準(zhǔn)墊資服務(wù)合作合同樣本版B版
- 2024年度知識產(chǎn)權(quán)抵押貸款合同大全3篇
- 20567-5納稅籌劃-教案及講稿
- 部編版三年級上冊作文評價表
- 2019MATLAB-Simulink電力系統(tǒng)建模與仿真第2版
- 繪本故事:睡睡鎮(zhèn)
- BMW銷售流程培訓(xùn)教材課件
- 煤炭入股合伙人協(xié)議書
- 普通銑床操作規(guī)程
- 導(dǎo)尿管相關(guān)尿路感染防控措施實(shí)施情況督查表
- 三甲醫(yī)院評審護(hù)理院感組專家現(xiàn)場訪談問題梳理(護(hù)士)
- 家庭、私有制和國家的起源
- 中職《數(shù)學(xué)》課程思政教學(xué)案例(一等獎)
評論
0/150
提交評論