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

Python Selenium如何下載網(wǎng)頁中的圖片到本地?(Base64編碼的圖片下載)

這篇具有很好參考價(jià)值的文章主要介紹了Python Selenium如何下載網(wǎng)頁中的圖片到本地?(Base64編碼的圖片下載)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言:? ? ? ??

? ? ? ? 在網(wǎng)頁上,圖片有時(shí)會(huì)以Base64編碼的形式嵌入在HTML中,而不是作為單獨(dú)的文件提供。這種方式的優(yōu)點(diǎn)是可以減少HTTP請(qǐng)求的數(shù)量,因?yàn)閳D片數(shù)據(jù)直接包含在HTML中,不需要額外的請(qǐng)求來獲取圖片文件。這對(duì)于小圖片或圖標(biāo)特別有用,因?yàn)檫@些圖片的文件大小可能比一個(gè)HTTP請(qǐng)求的開銷還要小。

? ? ? ? 當(dāng)你在網(wǎng)頁上看到一個(gè)Base64編碼的圖片時(shí),你需要先將這個(gè)編碼解碼為原始的二進(jìn)制數(shù)據(jù),然后才能將這個(gè)數(shù)據(jù)保存為一個(gè)圖片文件。所以我們需要使用base64.b64decode函數(shù)去解碼。

大致的步驟:

  1. 使用Selenium查找圖片元素,并獲取其src屬性。這個(gè)屬性包含了圖片的Base64編碼。
  2. 使用split函數(shù)將src屬性的值分割為兩部分。第一部分是"data:image/png;base64",這是一個(gè)標(biāo)識(shí),表示接下來的數(shù)據(jù)是一個(gè)Base64編碼的PNG圖片。第二部分是實(shí)際的Base64編碼。
  3. 使用base64.b64decode函數(shù)將Base64編碼解碼為原始的二進(jìn)制數(shù)據(jù)。
  4. 將這個(gè)二進(jìn)制數(shù)據(jù)寫入一個(gè)文件,創(chuàng)建一個(gè)圖片文件。

實(shí)現(xiàn)代碼:

image_tag = dwk_auto.find_xpath("""your_target_xpath""")
image_data = image_tag.get_attribute("src")
image_data = image_data.split(";base64,")[1]
# 解碼圖片數(shù)據(jù)
image_bytes = base64.b64decode(image_data)
# 將圖片數(shù)據(jù)寫入文件
with open("image.png", "wb") as f:
    f.write(image_bytes)

? ? ? ? dwk_auto是我自定義的一個(gè)類,find_xpath是我自定義的一個(gè)函數(shù),

? ? ? ? 主要是獲取到目標(biāo)圖片的tag,一般來說,這是一個(gè)img標(biāo)簽,獲取到了tag就能獲取該tag的src屬性了。

? ? ? ? 對(duì)于img元素,src屬性用于指定圖片的URL。這個(gè)URL可以是一個(gè)指向圖片文件的HTTP或HTTPS URL,也可以是一個(gè)包含Base64編碼的圖片數(shù)據(jù)的"data" URL。

? ? ? ? 例如,一個(gè)包含Base64編碼的PNG圖片的"data" URL可能看起來像這樣:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==

? ? ? ? 在這個(gè)例子中,image/png是MIME類型,表示這是一個(gè)PNG圖片,iVBORw0KG...是圖片的Base64編碼。

data:image/png;base6下載到本地,python,selenium文章來源地址http://www.zghlxwxcb.cn/news/detail-854641.html

到了這里,關(guān)于Python Selenium如何下載網(wǎng)頁中的圖片到本地?(Base64編碼的圖片下載)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Android中的圖片如何轉(zhuǎn)換成Base64格式

    Android手機(jī)客戶端的圖片數(shù)據(jù)上傳到服務(wù)器中保存,首先需要將客戶端的圖片轉(zhuǎn)換成Base64格式,然后才能通過網(wǎng)絡(luò)上傳到服務(wù)器中。 讓客戶端將圖片上傳到服務(wù)器,將圖片的網(wǎng)絡(luò)URL告訴服務(wù)器 將圖片轉(zhuǎn)成Base64編碼,傳遞給服務(wù)器,服務(wù)器將Base64字符串解碼之后生成一張圖片。

    2023年04月27日
    瀏覽(15)
  • 可以這樣獲取網(wǎng)頁中的canvas內(nèi)容,并且以圖片的形式保存在本地

    1.獲取canvas元素。我們可以使用JavaScript的document.getElementById()或document.querySelector()方法來獲取canvas元素。 2.獲取canvas的繪圖上下文。我們可以使用canvas.getContext()方法獲取canvas的繪圖上下文。 3.使用toDataURL()方法將canvas內(nèi)容轉(zhuǎn)換為圖片的base64編碼。該方法接受一個(gè)參數(shù),用于指定

    2024年02月12日
    瀏覽(19)
  • python基于Selenium方法爬取網(wǎng)頁圖片

    python基于Selenium方法爬取網(wǎng)頁圖片

    selenium是一個(gè)用于web應(yīng)用程序的自動(dòng)化測(cè)試工具,通過Selenium可以寫出自動(dòng)化程序,擬人在瀏覽器對(duì)網(wǎng)頁進(jìn)行操作。selenium可以編寫出自動(dòng)化程序,簡(jiǎn)化手動(dòng)保存的部分。 requests庫可以向第三方發(fā)送http請(qǐng)求,是一個(gè)用于網(wǎng)絡(luò)請(qǐng)求的模塊,通常以GET方式請(qǐng)求特定資源,請(qǐng)求中不應(yīng)

    2024年02月03日
    瀏覽(26)
  • 如何在網(wǎng)頁下載騰訊視頻為本地MP4格式

    如何在網(wǎng)頁下載騰訊視頻為本地MP4格式

    騰訊視頻

    2024年02月12日
    瀏覽(104)
  • python利用selenium獲取網(wǎng)頁head中的title

    工作中有批量獲取網(wǎng)頁head中title的應(yīng)用場(chǎng)景,實(shí)踐中遇到了一些問題,以此記錄一下。 通過檢查發(fā)現(xiàn)網(wǎng)頁的head中的title確實(shí)有文本,但是使用selenium的driver.title提取到了空字符串’’ 接著使用driver.find_element(By.XPATH, ‘/html/head/title’).is_displayed(),得到False,說明title被隱藏了

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

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

    2024年02月09日
    瀏覽(175)
  • 微信小程序 本地圖片和base64圖片相互轉(zhuǎn)換

    wx.chooseImage === 從本地相冊(cè)選擇圖片或使用相機(jī)拍照 wx.getFileSystemManager() === 獲取全局唯一的文件管理器 wx.getFileSystemManager().readFile === 讀取本地文件內(nèi)容 wx.base64ToArrayBuffer() === 將 Base64 字符串轉(zhuǎn)成 ArrayBuffer 對(duì)象 wx.downloadFile === 下載文件資源到本地 從手機(jī)上選擇圖片轉(zhuǎn)base64 網(wǎng)絡(luò)

    2024年02月03日
    瀏覽(93)
  • Python:使用爬蟲抓取網(wǎng)頁中的視頻并下載(完整源碼)

    Python:使用爬蟲抓取網(wǎng)頁中的視頻并下載(完整源碼) 在今天的程序開發(fā)世界中,網(wǎng)站是不可或缺的一部分。人們使用網(wǎng)站來獲取有用的信息、購買商品和娛樂自己。這些網(wǎng)站的內(nèi)容通常包含了各種類型的文件,其中最常見的就是視頻。對(duì)于有經(jīng)驗(yàn)的程序開發(fā)者來說,使用

    2024年02月16日
    瀏覽(46)
  • 華納云:Python中如何使用Selenium爬取網(wǎng)頁數(shù)據(jù)

    這篇文章主要介紹“Python中如何使用Selenium爬取網(wǎng)頁數(shù)據(jù)”,在日常操作中,相信很多人在Python中如何使用Selenium爬取網(wǎng)頁數(shù)據(jù)問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Python中如何使用Selenium爬取網(wǎng)頁數(shù)據(jù)”的疑惑有所幫助!接下

    2024年02月07日
    瀏覽(26)
  • 前端獲取本地圖片并且轉(zhuǎn)化為base64格式

    前端獲取本地圖片并且轉(zhuǎn)化為base64格式

    今天看見網(wǎng)上各位大佬五花八門的前端圖片獲取并轉(zhuǎn)化為base64格式的操作,果然高手在民間,很神奇,沒想到有這么多方法,那我也來寫一個(gè)我自己的方法 我是習(xí)慣使用filereader這個(gè)內(nèi)置類,感覺比較簡(jiǎn)單,不用管內(nèi)部原理,反正可以獲取圖片,實(shí)現(xiàn)在互聯(lián)網(wǎng)上的傳輸就可以

    2024年02月09日
    瀏覽(99)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包