国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python 和 Selenium 的瀏覽器爬蟲

這篇具有很好參考價值的文章主要介紹了Python 和 Selenium 的瀏覽器爬蟲。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Selenium?是一款強大的基于瀏覽器的開源自動化測試工具,最初由 Jason Huggins 于 2004 年在 ThoughtWorks 發(fā)起,它提供了一套簡單易用的 API,模擬瀏覽器的各種操作,方便各種 Web 應(yīng)用的自動化測試。

Python 和 Selenium 的瀏覽器爬蟲,python,selenium,爬蟲

它的取名很有意思,因為當(dāng)時最流行的一款自動化測試工具叫做 QTP,是由 Mercury 公司開發(fā)的商業(yè)應(yīng)用。Mercury 是化學(xué)元素汞,而 Selenium 是化學(xué)元素硒,汞有劇毒,而硒可以解汞毒,它對汞有拮抗作用。

Selenium 的核心組件叫做 Selenium-RC(Remote Control),簡單來說它是一個代理服務(wù)器,瀏覽器啟動時通過將它設(shè)置為代理,它可以修改請求響應(yīng)報文并向其中注入 Javascript,通過注入的 JS 可以模擬瀏覽器操作,從而實現(xiàn)自動化測試。

但是注入 JS 的方法存在很多限制,譬如無法模擬鍵盤和鼠標(biāo)事件,處理不了對話框,不能繞過 JavaScript 沙箱等等。

就在這個時候,于 2006 年左右,Google 的工程師 Simon Stewart 發(fā)起了 WebDriver 項目,WebDriver 通過調(diào)用瀏覽器提供的原生自動化 API 來驅(qū)動瀏覽器,解決了 Selenium 的很多疑難雜癥。不過 WebDriver 也有它不足的地方,它不能支持所有的瀏覽器,需要針對不同的瀏覽器來開發(fā)不同的 WebDriver,因為不同的瀏覽器提供的 API 也不盡相同,好在經(jīng)過不斷的發(fā)展,各種主流瀏覽器都已經(jīng)有相應(yīng)的 WebDriver 了。最終 Selenium 和 WebDriver 合并在一起,這就是 Selenium 2.0,有的地方也直接把它稱作 WebDriver。

Selenium 目前最新的版本已經(jīng)是 3.9 了,WebDriver 仍然是 Selenium 的核心。

為什么 Selenium 成了爬蟲工具

Selenium 的初衷是打造一款優(yōu)秀的自動化測試工具,但是慢慢的人們就發(fā)現(xiàn),Selenium 的自動化用來做爬蟲正合適。我們知道,傳統(tǒng)的爬蟲通過直接模擬 HTTP 請求來爬取站點信息,由于這種方式和瀏覽器訪問差異比較明顯,很多站點都采取了一些反爬的手段,而 Selenium 是通過模擬瀏覽器來爬取信息,其行為和用戶幾乎一樣,反爬策略也很難區(qū)分出請求到底是來自 Selenium 還是真實用戶。而且通過 Selenium 來做爬蟲,不用去分析每個請求的具體參數(shù),比起傳統(tǒng)的爬蟲開發(fā)起來更容易。

Selenium 爬蟲唯一的不足是慢,如果你對爬蟲的速度沒有要求,那使用 Selenium 是個非常不錯的選擇。Selenium 提供了多種語言的支持(Java、.NET、Python、Ruby 等),不論你是用哪種語言開發(fā)爬蟲,Selenium 都適合你。

這是因為 Selenium 啟動都需要調(diào)用瀏覽器的核心來啟動一個瀏覽器。

同時,當(dāng)瀏覽器訪問網(wǎng)站的時候,如果數(shù)據(jù)沒有載入完全,Selenium 是不會對數(shù)據(jù)進行分析的,有些網(wǎng)站的載入很慢,這樣就導(dǎo)致 Selenium 的處理很慢。

這個不是因為 Selenium 程序慢,而是等待數(shù)據(jù)載入的時間太長。

啟動瀏覽器

使用下面 3 句話就可以模擬啟動一個瀏覽器,并且通過瀏覽器訪問一個網(wǎng)站后,對網(wǎng)站來進行分析。

from selenium.webdriver import Chrome

chrome = Chrome(service=Service(r"C:\Users\yhu\Downloads\chromedriver-win64\chromedriver-win64\chromedriver.exe"))
chrome.get('https://www.isharkfly.com/')

// Get Element
rowContent = chrome.find_elements(By.XPATH, '/html/body/div[3]/div/div/div/div[4]/div/table/tbody/tr')

如實例沒有啟動的話,獲得元素的代碼就沒有辦法執(zhí)行。

其實慢就是慢在這里。

Python 和 Selenium 的瀏覽器爬蟲 - Python - iSharkFly文章來源地址http://www.zghlxwxcb.cn/news/detail-719307.html

到了這里,關(guān)于Python 和 Selenium 的瀏覽器爬蟲的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【python爬蟲】設(shè)計自己的爬蟲 4. 封裝模擬瀏覽器 Selenium

    有些自動化工具可以獲取瀏覽器當(dāng)前呈現(xiàn)的頁面的源代碼,可以通過這種方式來進行爬取 一般常用的的有Selenium, playwright, pyppeteer,考慮到他們的使用有許多相同之處,因此考慮把他們封裝到一套api中 先看基類 Selenium是一個自動化測試工具,利用它可以驅(qū)動瀏覽器完成特定

    2024年02月03日
    瀏覽(90)
  • python爬蟲之selenium庫,瀏覽器訪問搜索頁面并提取信息,及隱藏瀏覽器運行

    python爬蟲之selenium庫,瀏覽器訪問搜索頁面并提取信息,及隱藏瀏覽器運行

    如果鏈接簡單,爬蟲可以通過鏈接用requests庫提取頁面信息,如爬取豆瓣top250影片信息,鏈接簡單易懂。參考:爬取豆瓣top250影片信息 但如果遇到一些搜索之類的,基于js動態(tài)加載的網(wǎng)頁,以上就不適合,如爬蟲b站,搜索“爬蟲”頁面,第一頁鏈接如下,第二頁又是很長沒規(guī)

    2024年01月23日
    瀏覽(228)
  • python爬蟲教程:selenium常用API用法和瀏覽器控制

    python爬蟲教程:selenium常用API用法和瀏覽器控制

    selenium api selenium 新版本( 4.8.2 )很多函數(shù),包括元素定位、很多 API 方法均發(fā)生變化,本文記錄以 selenium4.8.2 為準(zhǔn)。 webdriver 常用 API 方法 描述 get(String url) 訪問目標(biāo)url地址,打開網(wǎng)頁 current_url 獲取當(dāng)前頁面url地址 title 獲取頁面標(biāo)題 page_source 獲取頁面源代碼 close() 關(guān)閉瀏覽器當(dāng)

    2024年02月05日
    瀏覽(28)
  • Python小姿勢 - # Python網(wǎng)絡(luò)爬蟲之如何通過selenium模擬瀏覽器登錄微博

    Python小姿勢 - # Python網(wǎng)絡(luò)爬蟲之如何通過selenium模擬瀏覽器登錄微博

    Python網(wǎng)絡(luò)爬蟲之如何通過selenium模擬瀏覽器登錄微博 微博登錄接口很混亂,需要我們通過selenium來模擬瀏覽器登錄。 首先我們需要安裝selenium,通過pip安裝: ``` pip install selenium ``` 然后我們需要下載一個瀏覽器驅(qū)動,推薦使用Chrome,下載地址:http://chromedriver.storage.googleapis.c

    2024年02月03日
    瀏覽(94)
  • 『python爬蟲』24. selenium之無頭瀏覽器-后臺靜默運行(保姆級圖文)

    『python爬蟲』24. selenium之無頭瀏覽器-后臺靜默運行(保姆級圖文)

    歡迎關(guān)注 『python爬蟲』 專欄,持續(xù)更新中 歡迎關(guān)注 『python爬蟲』 專欄,持續(xù)更新中 一般性的selenium會打開瀏覽器頁面,展示圖形化頁面給我們看,我們都應(yīng)該知道命令行式的程序肯定比這種渲染圖形化界面的程序快速高效。為了一定程度上緩解selenium慢的問題,我們可以采

    2024年02月07日
    瀏覽(371)
  • 已解決Python.selenium爬蟲必備設(shè)置永久禁止谷歌瀏覽器自動升級(親測有效)

    已解決Python.selenium爬蟲必備設(shè)置永久禁止谷歌瀏覽器自動升級(親測有效)

    問題描述:selenium框架自動化操作瀏覽器的時候,需要安裝瀏覽器驅(qū)動 WebDriver ,而 WebDriver 驅(qū)動需要對應(yīng)瀏覽器的版本才運行。但是我們常用的谷歌瀏覽器是有自動更新的,就會經(jīng)常導(dǎo)致 WebDriver 版本和谷歌瀏覽器版本對應(yīng)不上,運行代碼就會出現(xiàn)如下報錯信息。 每次去下載

    2024年02月10日
    瀏覽(24)
  • python爬蟲進階篇:Scrapy中使用Selenium模擬Firefox火狐瀏覽器爬取網(wǎng)頁信息

    接著上一篇的筆記,Scrapy爬取普通無反爬、靜態(tài)頁面的網(wǎng)頁時可以順利爬取我們要的信息。但是大部分情況下我們要的數(shù)據(jù)所在的網(wǎng)頁它是動態(tài)加載出來的(ajax請求后傳回前端頁面渲染、js調(diào)用function等)。這種情況下需要使用selenium進行模擬人工操作瀏覽器行為,實現(xiàn)自動化

    2024年02月04日
    瀏覽(101)
  • 爬蟲-華為云空間備忘錄導(dǎo)出到docx-selenium控制瀏覽器行為-python數(shù)據(jù)處理

    爬蟲-華為云空間備忘錄導(dǎo)出到docx-selenium控制瀏覽器行為-python數(shù)據(jù)處理

    老的榮耀手機屬于華為云系統(tǒng),家里人換了新榮耀手機屬于榮耀云系統(tǒng)無法通過云空間將備忘錄轉(zhuǎn)移到新手機,不想讓他們一個一個搞,于是整了一晚上想辦法爬取下來。從網(wǎng)頁抓取下來,然后存到docx文檔中(包括文字和圖片,別的形式的內(nèi)容請舉一反三) 多行圖片多行文

    2024年02月19日
    瀏覽(22)
  • java爬蟲遇到網(wǎng)頁驗證碼怎么辦?(使用selenium模擬瀏覽器并用python腳本解析驗證碼圖片)

    ????????筆者這幾天在爬取數(shù)據(jù)的時候遇到了一個很鬧心的問題,就是在我爬取數(shù)據(jù)的時候遇到了驗證碼,而這個驗證碼又是動態(tài)生成的,嘗試了很多方法都沒能繞開這個驗證碼問題。 ? ? ? ? 我的解決方案是:使用selenium模擬瀏覽器行為,獲取到動態(tài)生成的驗證碼后用

    2024年02月09日
    瀏覽(175)
  • python爬蟲進階篇:Scrapy中使用Selenium+Firefox瀏覽器爬取滬深A(yù)股股票行情

    上篇記錄了Scrapy搭配selenium的使用方法,有了基本的了解后我們可以將這項技術(shù)落實到實際需求中。目前很多股票網(wǎng)站的行情信息都是動態(tài)數(shù)據(jù),我們可以用Scrapy+selenium對股票進行實時采集并持久化,再進行數(shù)據(jù)分析、郵件通知等操作。 詳情請看上篇筆記 items middlewares setti

    2024年02月04日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包