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

Selenium批量自動(dòng)化獲取并下載圖片

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

Selenium批量自動(dòng)化獲取并下載圖片

在現(xiàn)代的Web開發(fā)中,自動(dòng)化測(cè)試和數(shù)據(jù)抓取已經(jīng)成為不可或缺的一部分。Selenium作為一款強(qiáng)大的自動(dòng)化測(cè)試工具,不僅可以用于測(cè)試Web應(yīng)用,還可以用于批量獲取網(wǎng)頁(yè)上的圖片。本文將介紹如何使用Selenium批量自動(dòng)化獲取并下載圖片。

一、準(zhǔn)備工作

安裝Selenium:首先,你需要在你的系統(tǒng)中安裝Selenium。你可以使用pip來(lái)安裝:

pip install selenium

下載WebDriver:Selenium需要與WebDriver配合使用,WebDriver是一個(gè)瀏覽器驅(qū)動(dòng),用于執(zhí)行瀏覽器操作。你需要根據(jù)你的瀏覽器類型下載對(duì)應(yīng)的WebDriver。例如,如果你使用的是Chrome,你需要下載ChromeDriver。

導(dǎo)入必要的庫(kù):在Python腳本中,你需要導(dǎo)入Selenium的庫(kù)以及用于處理圖片的庫(kù)(如PIL)。

from selenium import webdriver  
from PIL import Image  
import io

二、編寫代碼

啟動(dòng)瀏覽器驅(qū)動(dòng):創(chuàng)建一個(gè)瀏覽器驅(qū)動(dòng)實(shí)例,并打開一個(gè)網(wǎng)頁(yè)。這里以Chrome為例:

driver = webdriver.Chrome('path/to/chromedriver')  
driver.get('http://example.com')

查找圖片元素:使用Selenium的定位器(locators)來(lái)查找頁(yè)面上的圖片元素。你可以使用CSS選擇器、XPath等來(lái)定位圖片元素。例如,使用CSS選擇器定位所有的img標(biāo)簽:

images = driver.find_elements_by_css_selector('img')

下載圖片:對(duì)于每個(gè)找到的圖片元素,提取其src屬性,然后使用PIL庫(kù)下載圖片。這里是一個(gè)簡(jiǎn)單的示例:

for image in images:  
    image_url = image.get_attribute('src')  
    response = driver.execute_script("return fetch('" + image_url + "');")  
    image_data = response.content  
    image = Image.open(io.BytesIO(image_data))  
    image.save(image_url.split('/')[-1])  # 將圖片保存到本地,文件名保持不變

關(guān)閉瀏覽器驅(qū)動(dòng):完成圖片下載后,關(guān)閉瀏覽器驅(qū)動(dòng)。

driver.quit()

三、注意事項(xiàng)

跨域問(wèn)題:如果圖片來(lái)自于不同的域,你可能會(huì)遇到跨域問(wèn)題。在這種情況下,你需要處理瀏覽器的同源策略限制。一種解決方法是使用瀏覽器插件或服務(wù)來(lái)允許跨域請(qǐng)求。
圖片大小和分辨率:在下載圖片時(shí),你可能需要調(diào)整圖片的大小和分辨率以滿足你的需求。你可以在保存圖片時(shí)使用PIL庫(kù)的resize方法來(lái)調(diào)整圖片大小。例如:image.resize((width, height))。

完整例子:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-814058.html

from selenium import webdriver
from selenium.webdriver.common.by import By
import time
import requests
from io import BytesIO
from PIL import Image

def spider(url):
    driver = webdriver.Chrome()
    driver.get(url)
    driver.maximize_window()  # 窗口最大化
    time.sleep(30)
    a=1
    for j in range(2,25):
        try:
            try:
                for i in range(1,100):
                    a+=1
                    image_url=driver.find_element(By.XPATH,'//*[@id="sobey_editor_content"]/p/img[{}]'.format(i)).get_attribute("src")
                    print(image_url)
                    #//*[@id="root"]/div/div/div/div[1]/div/div[2]/div/div[3]/div/div/div/div[4]
                    #//*[@id="root"]/div/div/div/div[1]/div/div[2]/div/div[3]/div/div/div/div[23]
                    response = requests.get(image_url)
                    image_data = BytesIO(response.content)
                    image = Image.open(image_data)
                    image.save("image/{}.jpg".format(a))
                    print("{}下載成功".format(a))
            except:
                print("已下載完")
            driver.find_element(By.XPATH,'//*[@id="root"]/div/div/div/div[1]/div/div[2]/div/div[3]/div/div/div/div[{}]'.format(j+1)).click()
            time.sleep(0.5)
        except:
            print("未能下載。")
            pass
    driver.quit()
    quit()

if __name__ == '__main__':
    spider('https://yunquer.cn/web/#/Previewtextbook?contentId_=e8e86045f7a441e5828da5c3b21bcacc&uip=1')

到了這里,關(guān)于Selenium批量自動(dòng)化獲取并下載圖片的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(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)文章

  • 9個(gè)python自動(dòng)化腳本,PPT批量生成縮略圖、添加圖片、重命名

    9個(gè)python自動(dòng)化腳本,PPT批量生成縮略圖、添加圖片、重命名

    最近一番在整理資料,之前買的PPT資源很大很多,但歸類并不好,于是一番準(zhǔn)備把這些PPT資源重新整理一下。統(tǒng)計(jì)了下,這些PPT資源大概有2000多個(gè),一共30多G,一個(gè)一個(gè)手動(dòng)整理這個(gè)投入產(chǎn)出比也太低了。 作為程序員,當(dāng)然要重復(fù)的工作程序化,讓機(jī)器自動(dòng)執(zhí)行。于是一番

    2024年02月11日
    瀏覽(92)
  • selenium--自動(dòng)化識(shí)別圖片驗(yàn)證碼并輸入

    selenium--自動(dòng)化識(shí)別圖片驗(yàn)證碼并輸入

    首先注冊(cè)百度智能云賬號(hào)(這里我用的是百度智能云): ? ?1.要在這里面保存好API Key 和?Secret Key ?2.然后進(jìn)入查看文檔 ? 在pycharm中: 導(dǎo)入自動(dòng)化文件: 在寫自動(dòng)化腳本時(shí)調(diào)用封裝的百度類: 注意:自動(dòng)化識(shí)別文字可能會(huì)出現(xiàn)識(shí)別不出來(lái)的可能,要解決這個(gè)Bug。 代碼分享:

    2024年02月11日
    瀏覽(28)
  • Selenium 自動(dòng)化測(cè)試如何優(yōu)雅的解決圖片驗(yàn)證碼問(wèn)題

    Selenium 自動(dòng)化測(cè)試如何優(yōu)雅的解決圖片驗(yàn)證碼問(wèn)題

    說(shuō)到自動(dòng)化測(cè)試那一定避不開登陸注冊(cè)頁(yè)面,而大多數(shù)情況下這兩個(gè)簡(jiǎn)單的頁(yè)面都存在一個(gè)小困難就是驗(yàn)證碼,以前我的解決辦法都是在測(cè)試環(huán)境粗暴的寫死一個(gè)萬(wàn)能驗(yàn)證碼,或者給程序一個(gè)10秒鐘的線程阻塞,手動(dòng)輸入驗(yàn)證碼以跳過(guò)這個(gè)步驟。這樣就可以不那么優(yōu)雅的實(shí)現(xiàn)

    2024年02月14日
    瀏覽(22)
  • 自動(dòng)化測(cè)試(二)selenium八大獲取元素方法及對(duì)象操作

    目錄 webdriver API 腳本實(shí)例 元素的定位 1. 通過(guò)id定位: 2. 通過(guò)name方式定位 3. 通過(guò)tag name(標(biāo)簽名)定位 4. 通過(guò)class name (類名)方式定位 5.?通過(guò)CSS 方式定位 6.?通過(guò)xpath方式定位 7.?link text定位 8. Partial link text 定位 操作測(cè)試對(duì)象 ?鼠標(biāo)點(diǎn)擊與鍵盤輸入 submit 提交表單 text 獲取

    2024年02月03日
    瀏覽(61)
  • AERONET AOD 數(shù)據(jù)自動(dòng)化下載 + PYTHON + SELENIUM

    AERONET AOD 數(shù)據(jù)自動(dòng)化下載 + PYTHON + SELENIUM

    目錄 5.05更新 增加FMF、SSA數(shù)據(jù)下載(見GitHub) 4.10更新 通過(guò)CURL、WGET等方式下載目標(biāo)數(shù)據(jù) 獲取下載地址 Using Tools to Save Web Output as a File Wget Curl AERONET AOD 數(shù)據(jù)下載 ?利用 PYTHON + SELENIUM 自動(dòng)化下載中國(guó)站點(diǎn)數(shù)據(jù) 獲得站點(diǎn)URL列表 ?獲取站點(diǎn)數(shù)據(jù)時(shí)間 下載數(shù)據(jù) 寫在前面的小結(jié):預(yù)

    2023年04月08日
    瀏覽(58)
  • 如何實(shí)現(xiàn)批量獲取電商數(shù)據(jù)自動(dòng)化商品采集?如何利用電商數(shù)據(jù)API實(shí)現(xiàn)業(yè)務(wù)增長(zhǎng)?

    如何實(shí)現(xiàn)批量獲取電商數(shù)據(jù)自動(dòng)化商品采集?如何利用電商數(shù)據(jù)API實(shí)現(xiàn)業(yè)務(wù)增長(zhǎng)?

    隨著電子商務(wù)的快速發(fā)展,數(shù)據(jù)已經(jīng)成為了電商行業(yè)最重要的資產(chǎn)之一。在這個(gè)數(shù)據(jù)驅(qū)動(dòng)的時(shí)代,電商數(shù)據(jù)API(應(yīng)用程序接口)的作用日益凸顯。通過(guò)電商數(shù)據(jù)API,商家能夠獲取到大量關(guān)于消費(fèi)者行為、產(chǎn)品表現(xiàn)、市場(chǎng)趨勢(shì)等有價(jià)值的信息,進(jìn)而利用這些數(shù)據(jù)優(yōu)化業(yè)務(wù)策略,

    2024年02月19日
    瀏覽(21)
  • 爬蟲實(shí)戰(zhàn)(一)Python+selenium自動(dòng)化獲取數(shù)據(jù)存儲(chǔ)到Mysql中

    爬蟲實(shí)戰(zhàn)(一)Python+selenium自動(dòng)化獲取數(shù)據(jù)存儲(chǔ)到Mysql中

    ??行話說(shuō)得好,“爬蟲學(xué)得好,牢飯吃到飽!”哈哈博主是因這句話入的坑,不為別的就為邀大家一起鐵窗淚(bushi),本人雖小牛一只,但是喜愛(ài)搗鼓技術(shù),有興趣的小伙伴們可以共同探討,也歡迎各位大佬們的指點(diǎn),愿共同進(jìn)步! ??這次計(jì)劃是翻墻爬取外網(wǎng)某網(wǎng)站

    2024年01月17日
    瀏覽(34)
  • 【Python】WebUI自動(dòng)化—Selenium的下載和安裝、基本用法、項(xiàng)目實(shí)戰(zhàn)(16)

    【Python】WebUI自動(dòng)化—Selenium的下載和安裝、基本用法、項(xiàng)目實(shí)戰(zhàn)(16)

    Selenium 是一個(gè)用于測(cè)試 Web 應(yīng)用程序 的自動(dòng)化測(cè)試工具,它直接運(yùn)行在 瀏覽器 中,實(shí)現(xiàn)了對(duì)瀏覽器的自動(dòng)化操作,它支持所有主流的瀏覽器,包括 IE,F(xiàn)irefox,Safari,Chrome 等。 -支持所有主流平臺(tái)(如, Windows、Linux、IOS、Android、Edge、Opera 等) 實(shí)現(xiàn)了諸多 自動(dòng)化功能 ,比如

    2024年02月08日
    瀏覽(30)
  • Python自動(dòng)化測(cè)試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解

    Python自動(dòng)化測(cè)試 環(huán)境搭建 Selenium、WebDriver下載、安裝、配置、基本使用詳解

    基本于Python語(yǔ)言 和 Selenium框架,使用PyCharm 開發(fā)環(huán)境,詳細(xì)介紹自動(dòng)化測(cè)試環(huán)境的搭建 以及 基本的使用方法。 Python環(huán)境目前已被大部分主流操作系統(tǒng)所支持,比如在Linux、Mac、Unix等系統(tǒng)上就自帶了Python環(huán)境,但在Windows系統(tǒng)上目前還需要自己安裝,(當(dāng)然如已經(jīng)安裝過(guò)了的話

    2024年02月03日
    瀏覽(22)
  • 谷歌chrome瀏覽器所有歷史版本下載及selenium自動(dòng)化控制插件資源分享

    谷歌chrome瀏覽器所有歷史版本下載及selenium自動(dòng)化控制插件資源分享

    使用python + selenium做網(wǎng)頁(yè)自動(dòng)化開發(fā)的小伙伴經(jīng)常需要用到google chrome瀏覽器以及chromedriver插件。? ?? 谷歌瀏覽器所有歷史版本下載鏈接: chrome歷史版本,點(diǎn)擊下載 chromedriver插件下載地址: 下載鏈接1:點(diǎn)擊下載 下載鏈接2:點(diǎn)擊下載 chromedriver插件與瀏覽器版本有對(duì)應(yīng)關(guān)系,

    2024年02月14日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包