자신의 이미지를 업로드하여 url로 만들고 타인과 쉽게 공유할 수 있는 사이트가 있습니다. 근데 다른 사람들은 어떤 사진들을 올리는지 궁금하기도 합니다 ㅋㅋ 하나하나 검색해 보지 말고 한번 크롤링 해봅시다.
단순한 호기심에 파이썬 자동화 스크립트를 만들어봤는데 이미지 수집이 잘 되더군요.
여러분도 너무 코딩으로 정직한 프로그램만 만들지 만들고 한 번씩 이런 이상한 호기심도 채워보고 즐겨보시는 걸 권장 드립니다.
https://image.kilho.net/
위의 사이트에 들어가면 공유할 이미지를 업로드하라고 나옵니다.
공유할 사진 찾기 클릭하고 사진을 업로드 합니다.
그럼 위의 주소가 생기는데 여기서 규칙이 있습니다.
imgdb.in/IKVb라는 주소에서 imgdb.in/IKVa, imgdb.in/IKVb, imgdb.in/IKVc.... 등 뒤에 a, b, c, ...0, 1, 2 이렇게 알파벳과 숫자의 조합으로 주소가 생깁니다.
따라서 다른 주소를 그냥 뒤에 문자 조합만 바꾸면 다른 이미지들의 수집이 가능하다는 것입니다.
이제 코드부터 한번 보겠습니다.
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
from selenium import webdriver
from selenium.webdriver.common.by import By
import urllib.request
driver = webdriver.Chrome()
# 처음 두자리 이미지 키값
searchKey = "IK"
# 뒤에 두자리 키값들
textArrThird = ['A', 'B', 'C','D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'W', 'Y', 'Z']
textArrFourth = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'w', 'y', 'z']
for third in textArrThird:
for fourth in textArrFourth:
try:
key = f'{searchKey}{third}{fourth}' # 키값 조합
url = f"https://imgdb.in/{key}" # 생성 url
print('url:',url)
driver.get(url)
imgUrl = driver.find_element(By.XPATH, '/html/body/div[2]/div/img').get_attribute("src")
opener = urllib.request.build_opener()
opener.addheaders = [
('User-Agent',
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1941.0 Safari/537.36')
]
urllib.request.install_opener(opener)
# 이미지 저장
urllib.request.urlretrieve(imgUrl, f'./imgs/{key}_{fourth}.jpg')
except:
pass
driver.close()
print('done')
searchKey에 url 뒤 4글자에서 앞에 두 자리를 넣습니다. 예를 들어 imgdb.in/lKVb에서 lK를 넣습니다.
나머지 키값들은 textArrThird와 textArrFourth에 리스트로 작성합니다.
저는 그냥 재미로 빠르게 한번 긁어보자는 목적으로 대충 생각나는 데로 알파벳 넣었으니 나머지 더 나은 로직은 필요하시다면 알아서 개선하시면 되겠습니다.
참고로 사용한 패키지 정보는 다음과 같습니다.
본인의 패키지 리스트 확인하는 방법은 다음 글을 참고해주세요
2023.02.23 - [Python/환경 설정] - 파이썬 현재 설치된 패키지 리스트 확인하는법
자 이제 패키지도 다운 받고 실행해보면 수집이 아주 잘되는것을 볼 수 있습니다.
수집 화면이 뜹니다.
url을 차례데로 검색하면서 프린트를 찍어냅니다.
최종적으로 수집이 완료되면 imgs 폴더에 이미지들이 저장되어있는걸 확인할 수 있습니다.
2024.3.21 정상작동 확인