관리 메뉴

DeseoDeSeo

[Python] 이미지 데이터 수집 본문

Python

[Python] 이미지 데이터 수집

deseodeseo 2023. 8. 29. 12:48
from selenium import webdriver as wb
from selenium.webdriver.common.by import By
import time
from selenium.webdriver.common.keys import Keys

# 파일 시스템을 위한 라이브러리(삭제, 생성)
import os
# 이미지의 경로를 실제 파일로 저장
from urllib.request import urlretrieve

 

1. 바탕화면에 폴더를 생성
   :
바탕화면에 이미지라는 폴더가 없다면 바탕화면에 이미지라는 폴더를 만들어라.
       (경로에 원화표시가 있다면 슬래시/로 바꿔줘야한다. )
 ◎ is dir => is directory
 ◎ rm dir => remove directory
if not os.path.isdir("C:/Users/gjaischool/Desktop/이미지"):
    os.mkdir("C:/Users/gjaischool/Desktop/이미지")
driver = wb.Chrome()
driver.get("https://search.naver.com/search.naver?where=image&sm=tab_jum&query=%ED%96%89%EB%B3%B5%ED%95%9C+%EC%BF%BC%EC%B9%B4")

 

2. 스크롤 하는 코드
for i in range(10):
    body =driver.find_element(By.CSS_SELECTOR,"body")
    body.send_keys(Keys.END)

 

+ ) 공백이 있다는건 복수개라는 것.그래서 공백 대신 .넣음.

img[0].get_attribute("class")

3. 이미지 태그들을 수집
img =driver.find_elements(By.CSS_SELECTOR,"._image._listImage")

 

4. 태그 안에 있는 속성을 가지고 올 때는 get_attribute("속성")
img[0].get_attribute("src")

5. src만 담아줄 리스트를 제작
src =[ ]
for i in range(len(img)):
    src.append(img[i].get_attribute("src"))
src

 

6. 이미지의 경로를 실제 파일로 저장.
   ( 이미지 폴더 안으로 들어가려면 이미지 다음에 슬래시가 있어야한다. )
for i in range(len(src)):
    urlretrieve(src[i],"C:/Users/gjaischool/Desktop/이미지/"+ str(i) +".jpg")

 < 지정된 폴더에 사진들 들어감 >