0

urllib.request.urlretrieve(imgUrl, image_name + "_" + str(count+1) + ".jpg")

谷歌图像始终与源代码保存在同一个文件夹中

每次我想更改文件夹以保存它们时

import os import tkinter.ttk as ttk import tkinter.messagebox as msgbox from tkinter import * from tkinter import filedialog from PIL import Image

root = Tk()> root.title("Nado GUI")>

def keyword(): value = keyword_entry.get()
返回值

def number(): image_number = number_entry.get()
return image_number

定义谷歌图像():

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import urllib.request

driver = webdriver.Chrome()
driver.get("https://www.google.co.kr/imghp?hl=ko&tab=wi&authuser=0&ogbl")
elem = driver.find_element_by_name("q")

elem.send_keys(keyword())
elem.send_keys(Keys.RETURN)

images = driver.find_elements_by_css_selector(".rg_i.Q4LuWd")
count = 0
for image in images:
    try:
        image.click()
        time.sleep(1)
        imgUrl = driver.find_element_by_xpath('/html/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")
        opener=urllib.request.build_opener()
        opener.addheaders=[('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1941.0 Safari/537.36')]
        urllib.request.install_opener(opener)
        
        image_name = keyword_entry.get() 
                
        urllib.request.urlretrieve(imgUrl, image_name + "_" + str(count+1) + ".jpg")
        count = count + 1
        limit = number_entry.get()
        if count >= int(limit):
            break
    except:
        pass

driver.close()
4

1 回答 1

0

您可以尝试将路径添加到图像名称:

 urllib.request.urlretrieve(imgUrl, "/folder/" + image_name + "_" + str(count+1) + ".jpg")

您可能需要为您的操作系统和路径调整字符串。但这对我有用:


url = f'{URL_TO_IMAGE}/{IMAGE_NAME}.jpg'

urllib.request.urlretrieve(url, "./folder/" + "image_name" + ".jpg")

在此处输入图像描述

于 2020-12-28T01:53:03.507 回答