全自动下载removebg图片

 之前写过两篇半自动的:

半自动下载removebg图片-CSDN博客

半自动下载removebg图片(多进程版)-CSDN博客

 但需要在遇到人机验证的时候,手动点击,这里直接使用百度ai来检测图片是什么,主要是基于removebg的人机检测的图片主要就两种,一种是黄蜂,一种是植物,当然有更好的办法,这个是有专门的工具,比如图鉴,还有好几个工具sdk,不过我这里使用百度ai就能搞定,就没去折腾专门的sdk了。代码如下:

import os
import re
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.common.exceptions import NoSuchElementException
from time import sleep
import uuid
from aip import AipImageClassify


chrome_options = Options()
chrome_options.add_argument("--disable-blink-features=AutomationControlled")
chrome_options.add_argument('user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36')


# 使用百度检测是否是植物/动物
client_plant = AipImageClassify('62249243', '自己去百度ai获取', '自己去百度ai获取')
client_animal = AipImageClassify('62388196','自己去百度ai获取','自己去百度ai获取')
base_path = 'plant_class'
flag=True
bro=webdriver.Chrome(options=chrome_options, executable_path='./chromedriver')



url='https://www.remove.bg/zh/upload'
bro.get(url=url)
sleep(5)


def exe_human():
    sleep(10)
    iframe = bro.find_element_by_xpath("/html/body/div[3]/div[1]/iframe")
    bro.switch_to.frame(iframe)
    pattern = r"请点击每张包含(.+?)的图片"
    #  /html/body/div/div[1]/div/div/div[1]/div[1]/div[1]/h2/span /html/body/iframe[2] /html/body/div[3]/div[1]/iframe
    is_plant = bro.find_element_by_xpath('/html/body/div/div[1]/div/div/div[1]/div[1]/div[1]/h2/span')
    flag = True if re.search(pattern, is_plant.text).group(1) == '植物' else False
    print('开始进行AI绕过',re.search(pattern, is_plant.text).group(1))
    with open(base_path_deep + '/result.txt', 'w', encoding='utf-8') as f:
        for j in range(2): # 因为HCaptcha在removebg使用了两页,需要验证两次
            for i in range(1, 10):
                div = '/html/body/div/div[1]/div/div/div[2]/div[%d]/div[3]/div[1]' % i
                imgs = bro.find_element_by_xpath(div)
                img_path_indx = os.path.join(base_path_deep, str(j) + '_' + str(i) + '_code.jpg')
                imgs.screenshot(img_path_indx)
                if flag:
                    result = client_plant.plantDetect(image=open(img_path_indx, 'rb').read())
                    f.write(result['result'][0]['name'] + '\n')
                    if result['result'][0]['name'] != '非植物':
                        print("正在点击第%d个格子" % i)
                        imgs.click()
                    else:
                        print("正在跳过第%d个格子" % i)

                else:
                    result = client_animal.animalDetect(image=open(img_path_indx, 'rb').read())
                    f.write(result['result'][0]['name'] + '\n')
                    if result['result'][0]['name'].endswith("蜂"):
                        print("正在点击第%d个格子" % i)
                        imgs.click()
                    else:
                        print("正在跳过第%d个格子" % i)
            print("下一页")
            bro.find_element_by_xpath('/html/body/div/div[3]/div[3]').click()
            print("成功进入下一页")
            sleep(5)

        f.close()


def exe_generate():
    sleep(10)
    bro.find_element_by_xpath("//*[@id='page-content']/div[2]/div/div/div/div[2]/div[2]/div[2]/button").click()


if __name__ == '__main__':

    with open('待处理的图片url.txt','r') as f:
        data=f.readlines()
    print('--------开始处理removebg---------')
    for index, i in enumerate(data[:]):
        sleep(1)
        base_path_deep=os.path.join(base_path, str(uuid.uuid4()).replace('-',''))
        os.makedirs(base_path_deep, exist_ok=True)
        bro.execute_script("uploadUrl('{}');".format(i.strip()))
        sleep(20)
        try:
            iframe = bro.find_element_by_xpath('//*[@id="page"]/div/div[3]/div/div/iframe')
            bro.switch_to.frame(iframe)
            
            bro.find_element_by_xpath("//*[@id='checkbox']").click()
            bro.switch_to.default_content()
            print('人机验证开始')
            exe_generate()
        except NoSuchElementException:
            print('不存在人机验证')
            exe_generate()

代码仅供参考,需要的自己进行优化。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
### 回答1: Remove.bg 是一款可以帮助人们轻松删除背景图片的工具,可以去除图片中的背景,保留主题内容。 使用此工具可以方便的进行图像编辑,例如在制作广告或商品宣传图像时,需要去除图片中的背景。Remove.bg 提供了一个可以让人们快速上传、去除背景和下载图像的简单界面。因此,打包 Remove.bg ,意味着将其安装到我们的电脑上作为一个软件包。有了打包的 Remove.bg ,我们可以更快速地处理大量的图片,一次性去除大量的图片背景,更方便地管理所需的图像素材,提高工作效率。总之,打包 Remove.bg 无疑是人们能够更加高效地进行图像编辑及相关工作的一项重要的工具。 ### 回答2: removebg 打包是指将多张需要去除背景的图片同时上传到 remove.bg 网站进行处理,并将处理后的图片以压缩包的形式打包下载下来。 remove.bg 是一款非常实用的在线图像处理工具,可以快速去除图片背景,操作简单,效果优秀。对于需要处理多张图片去除背景的用户来说,手动一个一个上传、下载处理后的图片将会非常费时费力。因此,remove.bg 提供了打包下载功能,可以将多张图片同时上传至 remove.bg 并将处理后的结果打包下载下来,省时省力。 使用 remove.bg 打包功能的步骤非常简单,只需将需处理的多张图片打成一个压缩包,上传至 remove.bg 网站,在处理完成后,该网站会将所有图片的去背景结果打包成一个压缩包,用户可以直接下载使用,十分方便。 总之,remove.bg 打包是一种方便快捷的图片处理方式,可以大大提高用户的工作效率,对于平面设计师、海报制作者等需要频繁处理图片的人来说尤其有用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值