• selenium爬取图片


    一.https/http开头的图片

    1.我们以百度为例,下载百度图片到本地。

     

    2.定位到该元素的img标签

     

    1
    2
    3
    4
    5
    6
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    driver = webdriver.Chrome()
    driver.get("https://www.baidu.com"# 进入百度首页
    driver.implicitly_wait(10# 设置全局隐性等待
    element = driver.find_element(by=By.XPATH, value="//img[@id='s_lg_img']"# 定位元素

    3.获取图片的地址

    1
    url = element.get_attribute("src"# 获取图片链接

    3.将图片以二进制保持到本地

    1
    2
    with open("./img/baidu.png", mode="wb")as f:
        f.write(requests.get(url).content)  # 将图片以二进制写入

    4.全部代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    import requests
     
    driver = webdriver.Chrome()
    driver.get("https://www.baidu.com")
    driver.implicitly_wait(10)
    element = driver.find_element(by=By.XPATH, value="//img[@id='s_lg_img']")
    url = element.get_attribute("src"# 获取图片链接
     
    with open("./img/baidu.png", mode="wb")as f:
        f.write(requests.get(url).content)  # 将图片以二进制写入
     
    driver.quit() 

    二.base64加密的图片

    1.base64加密过的图片在网页上都是以data:image开头的,不能直接获取图片地址下载,需要先解码后再保存

    2.我们直接浏览器上拷贝一个img的src值(base64加密过的),截取需要解码的部分,base64,往后的部分

    1
    2
    url_path = 'data:image/png;base64,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'
    url = url_path[22:]

    3.通过base64解码为二进制

    1
    url_b64 = base64.b64decode(url)

    4.保存到本地

    1
    2
    with open("./img/base64.png", mode="wb")as f:
        f.write(url_b64)

    这个需要注意的是保存的图片后缀要和原文件类型一致,png格式(data:image/png)

    5.全部代码

    1
    2
    3
    4
    5
    6
    7
    import base64
     
    url_path = 'data:image/png;base64,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'
    url = url_path[22:]
    url_b64 = base64.b64decode(url)
    with open("./img/base64.png", mode="wb")as f:
        f.write(url_b64)

    三.镶嵌在css background-image中的图片

    1.我们以获取豆瓣登录页面滑块背景图为例,先看下背景图格式。

    2.先跳转到背景图片的页面

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    from selenium import webdriver
    from selenium.webdriver.common.by import By
     
    driver = webdriver.Chrome()
    driver.implicitly_wait(10)
    driver.get("https://www.douban.com/")
    iframe = driver.find_element(by=By.XPATH, value="//body/div[@id='anony-reg-new']/div[1]/div[1]/iframe[1]")
    driver.switch_to.frame(iframe)
    driver.find_element(by=By.XPATH, value="//*[contains(text(),'密码登录')]").click()
    driver.find_element(by=By.ID, value="username").send_keys("13633989873")
    driver.find_element(by=By.ID, value="password").send_keys("13633989873")
    driver.find_element(by=By.XPATH, value="/html/body/div[1]/div[2]/div[1]/div[5]/a").click()

    driver.switch_to.frame(
    "tcaptcha_iframe_dy")
    time.sleep(
    3)

     3.编写脚本获取背景图地址

    方法一:css = 'return document.getElementById("slideBg").style.backgroundImage'

    方法二:js = 'return document.getElementById("slideBg").style.backgroundImage'

     我们打印出来可以发现,方法一会把域名一起获取了,所以个人推荐使用方法一,不用后续去拼接了

    4.截取url地址并以二进制写入

    1
    2
    3
    url_path = css_01[5:-2]
    with open("./img/tu.png", mode="wb")as f:
        f.write(requests.get(url_path).content)

    5.全部代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    import time
    import requests
    from selenium import webdriver
    from selenium.webdriver.common.by import By
     
    driver = webdriver.Chrome()
    driver.implicitly_wait(10)
    driver.get("https://www.douban.com/")
    iframe = driver.find_element(by=By.XPATH, value="//body/div[@id='anony-reg-new']/div[1]/div[1]/iframe[1]")
    driver.switch_to.frame(iframe)
    driver.find_element(by=By.XPATH, value="//*[contains(text(),'密码登录')]").click()
    driver.find_element(by=By.ID, value="username").send_keys("13633989873")
    driver.find_element(by=By.ID, value="password").send_keys("13633989873")
    driver.find_element(by=By.XPATH, value="/html/body/div[1]/div[2]/div[1]/div[5]/a").click()
    driver.switch_to.frame("tcaptcha_iframe_dy")
    time.sleep(3)
    css = "return $('[id=slideBg]').css('background-image')"
    # js = 'return document.getElementById("slideBg").style.backgroundImage'
    css_01 = driver.execute_script(css)
    # js_01 = driver.execute_script(js)
    url_path = css_01[5:-2]
    with open("./img/dou.png", mode="wb")as f:
        f.write(requests.get(url_path).content)
    driver.quit()

    需要注意的是在执行js前需要等待几秒钟,防止报:“is not defined”,要等到页面加载完成后再去执行js

  • 相关阅读:
    实用拜占庭协议(PBFT 99)
    交互式 .Net
    【服务调用】OpenFeign
    操作Excel
    20天零基础自学Python | Day8 String字符串
    实践|美创助力“云学堂”数据安全风险管控建设
    ARM 汇编基础知识
    调用百度文心AI作画API实现中文-图像跨模态生成
    LQ0222 买不到的数目【DP+数学】
    条件不一致的动态运算
  • 原文地址:https://www.cnblogs.com/lihongtaoya/p/16702660.html