DeseoDeSeo
[Python] 이미지 데이터 수집 본문
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")
< 지정된 폴더에 사진들 들어감 >
'Python' 카테고리의 다른 글
[Machine Learning] iris_knn 분류실습 part.2 (0) | 2023.08.29 |
---|---|
[Machine Learning] 일반화, 과소, 과대, knn (0) | 2023.08.29 |
[Python] 네이버 지도 데이터 수집 (0) | 2023.08.29 |
[Machine Learning] iris_knn분류실습 (0) | 2023.08.28 |
[Crawling] 도시락 업체 데이터 수집 (0) | 2023.08.28 |