Python selenium,argparse - 从谷歌下载并保存图像

问题描述 投票:0回答:0

我还在学习python。 我发现该脚本可以从 google image 下载和保存图像,并且 scirpt 没有显示任何错误,但不保存任何图像。

保存图像的目录设置为我有我的脚本的文件夹,此外脚本创建一个名为“Image_g”的新文件夹但不要在其中保存图像。

我使用 Spyder Anaconda(在 jupyter notebook 中,argparse 有一些错误)

也许有人有答案? 谢谢

from selenium import webdriver
import time
import requests
import shutil
import os
import argparse



def save_img(inp,img,i,directory):
    try:
        filename = inp+str(i)+'.jpg'
        response = requests.get(img,stream=True)
        image_path = os.path.join(directory, filename)
        with open(image_path, 'wb') as file:
            shutil.copyfileobj(response.raw, file)
    except Exception:
        pass



def find_urls(inp,url,driver, directory):
    driver.get(url)
    for _ in range(3):
        driver.execute_script("window.scrollBy(0,2)")
        try:
            driver.find_element_by_css_selector('.mye4qd').click()
        except:
            continue
    for j, imgurl in enumerate(driver.find_elements("xpath", '//img[contains(@class,"rg_i Q4LuWd")]')):
        try:
            imgurl.click()
            img = driver.find_elements("xpath",'//body/div[2]/c-wiz/div[3]/div[2]/div[3]/div/div/div[3]/div[2]/c-wiz/div[1]/div[1]/div/div[2]/a/img').get_attribute("src")
            save_img(inp,img,j, directory)
            time.sleep(1.5)
        except:
            pass



if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='Scrape Google images')
    parser.add_argument('-s', '--search', default='bananas', type=str, help='search term')
    parser.add_argument('-d', '--directory', default='Image_g', type=str, help='save directory')
    args = parser.parse_args()
    driver = webdriver.Chrome('C:\webdrivers\chromedriver.exe')
    directory = args.directory
    inp = args.search
    if not os.path.isdir(directory):
        os.makedirs(directory)
    url = 'https://www.google.com/search?q='+str(inp)+'&source=lnms&tbm=isch&sa=X&ved=2ahUKEwie44_AnqLpAhUhBWMBHUFGD90Q_AUoAXoECBUQAw&biw=1920&bih=947'
    find_urls(inp,url,driver, directory)
python-3.x selenium-webdriver argparse google-image-search
© www.soinside.com 2019 - 2024. All rights reserved.