Python/Crawling

[Crawling] 이미지 태그 수집 후 폴더 저장

퓨어맨 2022. 6. 9. 08:41
from selenium import webdriver as wb
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup as bs
import time

import os # 파일시스템을 위한 라이브러리 ex)파일, 폴더를 생성, 삭제, 존재여부 파악

from urllib.request import urlretrieve as urlre # 이미지경로를 파일로 저장

# 폴더생성
if not os.path.isdir('./이미지3'):
    os.mkdir('./이미지3')
    print('폴더생성')
    
# 웹페이지 제어
url = 'https://search.naver.com/search.naver?sm=tab_hty.top&where=image&query=%ED%8F%AC%EB%A9%94%EB%9D%BC%EB%8B%88%EC%95%88&oquery=%EC%9B%B0%EC%8B%9C%EC%BD%94%EA%B8%B0&tqi=hoKcJsp0J1sssAXOgl8ssssstqZ-193241'
driver = wb.Chrome()
driver.get(url)

# 스크롤 제어
body = driver.find_element_by_css_selector('body')

for i in range(5):
    body.send_keys(Keys.PAGE_DOWN)
    time.sleep(0.3)
    
# 이미지 태그 수집후 이미지3 폴더에 저장
soup = bs(driver.page_source, 'lxml')
img = soup.select('img._image._listImage')

img_list = []

for i in img:
    try:
        img_list.append(i['data-lazy-src'])
    except:
        img_list.append(i['src'])
        
for i in range(len(img_list)):
    urlre(img_list[i], f'./이미지3/{i}.jpg')
    time.sleep(0.1)
 
# urlretrieve(src값, 경로)
urlre(img_list[0], './이미지3/1.jpg')

urlre(img_list[0], './이미지3/1.jpg') 결과

 

이미지 폴더3에 이미지 저장