В този труден момент всеки от нас трябва да споделя знания и да си сътрудничи. Опитвах се да направя набор от данни за хора, носещи маска и без маска, събрах малко данни. Но аз споделям как можете да изтриете изображения в Google и да изпълните тази задача. Ето моето видео, обясняващо концепцията.

Първо трябва да имаме Selenium и уебдрайвер, напр. уеб драйвер за chromium.

Няма да обяснявам всичко отново, защото вече обясних много неща във видеото.

https://youtu.be/m32M5Qfc4-I

Ето кода:

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

Сега трябва да инстанцираме уеб драйвера и да отворим Google

driver = webdriver.Chrome("C:\\Users\\Sourabh\\chromedriver.exe")
driver.get('https://www.google.com/') #opens up google
search = driver.find_element_by_name('q') # the name of the searchbox
search.send_keys('people wearing mask',Keys.ENTER)

Сега трябва да отидем в секцията с изображения

elem = driver.find_element_by_link_text('Images')
elem.get_attribute('href')
elem.click()

Трябва да превъртим страницата, за да събираме все повече и повече стойности на src от ‹img src›

value = 0
for i in range(50):  #Scrolls the page 50 times
 driver.execute_script(‘scrollBy(“+ str(value) +”,+100);’)
 value += 100
 time.sleep(4)

Сега трябва да намерим class/id на img тага, за да получим атрибута src от там. Към момента има три класа в img тага на google images.Имайте предвид, че google го променя периодично, така че може да не работа след седмици.

elements = driver.find_elements_by_xpath(‘//img[contains(@class,”rg_i”) and contains(@class, “Q4LuWd”) and contains(@class, “tx8vtf”)]’)
try:
    os.mkdir('peoplewithmask')
except FileExistsError:
    pass

Накрая трябва да извлечем и изтеглим връзките

count = 0
for i in elements:
    src = i.get_attribute('src')
    try:
        if src != None:
            src  = str(src)
            count+=1
            urllib.request.urlretrieve(src, os.path.join('withMask','image'+str(count)+'.jpg'))
            if count%10 == 0: print("downloaded",count,"images")
        else:
            raise TypeError
    except TypeError:
        pass
        

Готово, това беше всичко за днес. Чувствайте се свободни да се свържете, ако имате нужда от помощ.