from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import urllib.request # 이미지 저장 라이브러리
driver = webdriver.Chrome('chromedriver.exe')
driver.get('https://instagram.com') # 이 사이트를 크롬 드라이버로 열어라.
time.sleep(2) ## 2초 쉬고
id = driver.find_element_by_css_selector('input[name="username"]') # input태그의 이름이 username 인 곳에 포커스.
id.send_keys('chu9400@naver.com') # 포커스 된 곳에 다음 값을 입력해라.
pw = driver.find_element_by_css_selector('input[name="password"]') # input 태그의 이름이 password 인 곳에 포커스해라
pw.send_keys('choifence94!!') # 그 곳에 다음 값을 입력해라.
enter = driver.find_element_by_css_selector('._acap') #class 이름이 _acap 인 것을 찾아라.
enter.send_keys(Keys.ENTER) # 찾은 클래스에 '엔터' 해줘라
time.sleep(3)
#위의 코드들을 실행하면 인스타그램에 입력한 id와 pw 값으로 로그인 됨.
driver.get('https://www.instagram.com/explore/tags/볼보/') # 로그인 후 '볼보'라고 검색한 페이지를 보여줘라.
driver.implicitly_wait(5) # 저 요소를 찾을 때 까지 5초 기다려라, 찾으면 바로 다음 코드 실행.
e = driver.find_element_by_css_selector('._aagw') # 첫 번쨰 게시글을 찾아라.
driver.execute_script('arguments[0].click();', e) # 선택한 요소를 클릭해라. -> 첫 번째 게시글이 띄어짐.
이미지 = driver.find_element_by_css_selector('._aato .xu96u03').get_attribute('src') # 클릭한 게시글의 이미지 src 값을 찾아라.
driver.implicitly_wait(5) # 찾을 때 까지 대기
urllib.request.urlretrieve(이미지, '1.jpg') # 파이썬 파일 있는 곳에 src로 된 이미지를 1.jpg 이름으로 저장해라.
e = driver.find_elements_by_css_selector('._abl-')[0] # 다음 게시글 보기 버튼 찾아라
driver.execute_script('arguments[0].click();', e) # 다음 게시글 보기 버튼 클릭
for i in range(2, 11): # 위에 한번 실행했으니 나머진 9번 반복해라.
이미지 = driver.find_element_by_css_selector('._aato .xu96u03').get_attribute('src') # 첫 번째만 반복문 밖에 코드를 짠 것은 인스타그램 html 구조 때문!
driver.implicitly_wait(5)
urllib.request.urlretrieve(이미지, f'{i}.jpg')
e = driver.find_elements_by_css_selector('._abl-')[1]
driver.execute_script('arguments[0].click();', e)

이 페이지에서만 12개의 요소가 있음.

첫 번째 요소인 것을 알 수 있음.

이미지를 보면 2 of 7 으로 두 번째 요소 인 것을 확인.

자동으로 10개의 이미지 다운 확인!