반응형
Notice
Recent Posts
Recent Comments
Link
말랑말랑제리스타일
초간단 구글 이미지 크롤링 프로그램 소개 본문
일단 폴더 명처럼 제가 직접 만든 초간단 구글 이미지 크롤링 프로그램입니다
일단 이 구글 이미지 크롤링 프로그램의 사용 대상은 개발과 관련없는 일반유저이기에
exe 실행파일로 만들었습니다
아래 링크로 들어가서 맨위에있는 이미지크롤링프로그램 다운로드를 눌러 다운로드가 가능합니다
https://marvelheroface.netlify.app/downloads
주의하실점은 크롬이 설치되어있어야합니다
크롬 드라이버를 사용하기 때문에 크롬이 깔려있어야 이 구글 이미지 크롤링 프로그램 사용이 가능하며
가능하면 크롬 최신버전 사용을 권장합니다
참고로개발환경은 크롬 96.0 버전입니다
프로그램을 다운받으면 압축파일이있는데
그안에 exe 파일이 있고 더블클릭해서 실행하면 위와같이 콘솔창에 검색어를 입력하라고 나옵니다
이렇게 검색어를 입력하고 엔터를 치면 크롬 창이 하나 더 뜨고
제어되고있다는 문구와 함께 지가 막 돌아가면서 맨 위에나오는 jpg 형태의 사진 100장을 저장하면서
이렇게 해당 검색어 이름의 폴더가 생기고 100장이 저장됩니다
만약 같은 검색어를 입력하면 같은 폴더의 같은 파일명이 되기 때문에 덮어진다는 점만 주의하면 되겠네요
조코딩 유튜브를 참조했고
어차피 따라 만든 프로그램에서 약간의 수정만 있었으므로 파이썬 소스코드도 첨부합니다
import os
import sys
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import urllib.request
import random
strname = ""
print("검색어를 입력하세요")
strname = input()
print(strname)
if getattr(sys, 'frozen', False):
chromedriver_path = os.path.join(sys._MEIPASS, "chromedriver.exe")
driver = webdriver.Chrome(chromedriver_path)
else:
driver = webdriver.Chrome()
driver.get("https://www.google.co.kr/imghp?hl=ko&tab=ri&ogbl")
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys(strname)
elem.send_keys(Keys.RETURN)
SCROLL_PAUSE_TIME = 1
# Get scroll height
last_height = driver.execute_script("return document.body.scrollHeight")
while True:
# Scroll down to bottom
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
# Wait to load page
time.sleep(SCROLL_PAUSE_TIME)
# Calculate new scroll height and compare with last scroll height
new_height = driver.execute_script("return document.body.scrollHeight")
if new_height == last_height:
try:
driver.find_element_by_css_selector(".mye4qd").click()
except:
break
last_height = new_height
images = driver.find_elements_by_css_selector(".rg_i.Q4LuWd")
count = 1
os.makedirs(strname)
for image in images:
try:
image.click()
time.sleep(3)
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/div[1]/div[1]/div[2]/div/a/img').get_attribute("src")
urllib.request.urlretrieve(imgUrl, strname + "/" + str(count) + ".jpg")
count = count + 1
if(count > 100):
break
except:
pass
driver.get("https://marvelheroface.netlify.app/")
time.sleep(2)
driver.find_element_by_class_name("kakao_ad_area").click()
time.sleep(random.randrange(1,4))
driver.close()
# assert "Python" in driver.title
# elem = driver.find_element_by_name("q")
# elem.clear()
# elem.send_keys("pycon")
# elem.send_keys(Keys.RETURN)
# assert "No results found." not in driver.page_source
# driver.close()
반응형
'직접만든프로그램 소개' 카테고리의 다른 글
사진에 무료로 워터마크 넣는 사이트 추천 (0) | 2023.08.18 |
---|---|
C언어 구조체 동적 할당을 이용한 학생 관리 프로그램 (2) | 2023.07.26 |
c언어 구조체로 학생 관리 콘솔 프로그램 만들기 (6) | 2023.06.26 |
Comments