파이썬 네이버 이미지 크롤링(Python Naver Image Crawling)

2021. 3. 24. 20:09·Python & SQL/Python Practice

 

지난 번 구글 이미지 크롤링 코드를 그대로 활용하여, 네이버 이미지 크롤링을 해보았습니다.

 

구글과 네이버 이미지 검색의 차이점이 하나 있습니다.

구글은 스크롤을 내리다보면 아래 그림처럼 [결과 더보기] 버튼을 클릭해야만 스크롤을 더 내릴 수 있습니다.

반면, 네이버는 별다른 과정없이 끝까지 스크롤이 내려갑니다.

 

 

그래서 두 코드의 차이는 [결과 더보기] 버튼 클릭 부분 뿐입니다.

이렇게 자동화하여 이미지를 저장할 수 있으니 참 편리합니다.

이제는 이것을 활용하여 어떤 재밌는 것을 더 할 수 있는지 생각해 보아야겠습니다. :)

 

오늘도, 즐겁게 파이썬!

 

 

▼ 파이썬 코드 공개

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import urllib.request
 
driver = webdriver.Chrome()
driver.get("https://search.naver.com/search.naver?where=image&sm=tab_jum&query=")
elem = driver.find_element_by_name("query")
elem.send_keys("조인성")
elem.send_keys(Keys.RETURN)
 
SCROLL_PAUSE_TIME = 1
 
last_height = driver.execute_script("return document.body.scrollHeight")
 
while True:
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
 
    time.sleep(SCROLL_PAUSE_TIME)
 
    new_height = driver.execute_script("return document.body.scrollHeight")
    if new_height == last_height:
        break
    last_height = new_height
 
images = driver.find_elements_by_css_selector("._image._listImage")
count = 1
for image in images:
    try: 
        image.click()
        time.sleep(2)
        imgUrl = driver.find_element_by_xpath('//*[@id="main_pack"]/section/div[2]/div[2]/div/div[1]/div[1]/div[1]/div/div/div[1]/div[1]/img').get_attribute("src")
        urllib.request.urlretrieve(imgUrl, str(count) + ".jpg")
        count = count + 1
    except:
        pass
 
driver.close()
 
Colored by Color Scripter
cs

 

 

 

 

(+ 추가)

유튜브에 댓글이 달렸었는데 18시간동안 확인을 안해서 그런지 작성자 분께서 삭제를 하셨다.

 

 

질문을 해결하기 위해서는 마지막 for 문 안에 if 문으로 갯수를 정하고 break 로 끝내면 된다.

count = count + 1 아랫줄에 다음 2줄을 넣으면 된다. 예를 들어서 10개를 수집하려면 10 + 1 개를 적으면 된다.

 

if count == 11:

    break

 

 

 

(+ 추가) 유튜브에 질문 댓글이 달려 보완합니다.

 

 

'Python & SQL > Python Practice' 카테고리의 다른 글

기상청 공공데이터로 내 생일 기온 변화 그래프 그리기(feat. 주피터 노트북)  (0) 2021.03.31
[문자열 웹 크롤링] 오늘의 띠별 운세  (0) 2021.03.31
파이썬 자연 언어 처리(Natural Language Processing, NLP) 맛보기  (0) 2021.03.29
파이썬 구글 이미지 크롤링(Python Google Image Crawling)  (0) 2021.03.23
파이썬 구구단 업그레이드 문제 !  (0) 2021.03.23
'Python & SQL/Python Practice' 카테고리의 다른 글
  • [문자열 웹 크롤링] 오늘의 띠별 운세
  • 파이썬 자연 언어 처리(Natural Language Processing, NLP) 맛보기
  • 파이썬 구글 이미지 크롤링(Python Google Image Crawling)
  • 파이썬 구구단 업그레이드 문제 !
J. Son
J. Son
Petit à petit l'oiseau fait son nid.
  • J. Son
    Steady Study Log
    J. Son
  • 전체
    오늘
    어제
    • 분류 전체보기 (172) N
      • Python & SQL (63)
        • Python Basics (21)
        • Python Problems (23)
        • Python Practice (11)
        • MySQL (1)
        • Git & GitHub (7)
      • ML & DL (7) N
      • Projects (6) N
        • Project Portfolio (6) N
      • AI Camp (4)
        • Camp Reflection (4)
      • Concept Notes (6)
        • Statistics & Stata (4)
        • Mathematics (2)
      • Archive (85) N
        • Java (24)
        • R (1)
        • Languages (49)
        • Miscellaneous (11) N
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

    • GitHub
    • WikiDocs
  • 공지사항

  • 인기 글

  • 태그

    맥 git
    파이썬 문제
    파이썬 크롤링
    프랑스어 공부
    share.streamlit.io
    머신러닝
    점프투파이썬 연습문제 풀이
    python streamlit
    Stata
    프로젝트 오일러
    불어 관계대명사
    GIT
    어린왕자 불어
    파이썬
    어린왕자 프랑스어
    불어 공부
    점프투파이썬 연습문제
    파이썬 streamlit
    Le Petit Prince
    객체
    passe compose
    Python
    machine learning
    Github
    streamlit
    자바
    MySQL
    복합과거
    초보자를 위한 파이썬 300제
    python problem
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
J. Son
파이썬 네이버 이미지 크롤링(Python Naver Image Crawling)
상단으로

티스토리툴바