파이썬 강좌(초급)/(실습) 크롤링

(실습)파이썬 네이버에서 강아지로 검색 후 강아지 이미지를 자동으로 크롤링 하는 프로그램 만들기 - 0. 소개

파기차차 2024. 3. 3. 13:52
728x90
반응형
SMALL

ㅁ 개요

 

O 프로그램 소개

 

 - 이번 프로그램은 네이버에서 강아지로 검색 후 강아지 이미지를 자동으로 크롤링 하는 프로그램 만드는 방법에 대해서 알아보겠습니다.

 

 

O 향후 진행 순서

 

이후 글부터 진행되는 세부적인 내용은 다음과 같습니다.

 

 

1.셀레니움을 이용한 크롬브라우저 자동으로 띄우기

 -크롬 브라우저 버전에 맞는 크롬드라이버를 다운로드 받고, 특정 위치에 저장 후 크롬브라우저를 자동으로 띄우는 방법에 대해 알아보겠습니다.

 

 

2.네이버 검색 페이지 로딩하기

 -검색 주소와 검색 키워드를 조합하여 url을 만들고, url로 부터 로컬 PC의 메모리에 로딩하는 방법을 설명합니다.

 

 

3.네이버 검색페이지에서 모든 소스 가져오기

 -메모리에 로딩된 html 소스를 눈으로 확인하고, 이를 다시 BeautifulSoup로 이쁘게(?) 보는 방법에 대해 설명합니다.

 

 

 

4.가져온 소스 필터링 테스트 하기

 - BeautifulSoup로 가져온 데이터 중에서 '강아지' 이미지 태그 부분만 가져오도록 필터링하는 방법에 대해 알아 봅니다.

 

 

5.가져온 소스에서 이미지 링크와 설명만 뽑아서 리스트에 담아두기

 -위의 4번에 가져온 이미지 태크의 속성 중에서 'src' 와 'alt' 만 가져와서 리스트에 담는 방법에 대해 설명합니다.

 

  

6.이미지 링크와 설명 가공하기(원하는대로 만들기)

 -가져올 이미지 개수를 지정하고, 이미지 링크와 이미지 설명을 zip()함수로 묶는 방법을 설명합니다.

 

 

7.이미지를 다운로드하고, 이미지 파일이름 만들기

 -이미지 링크로 이미지를 다운로드 하고, 이미지 설명으로 파일이름을 만드는 방법을 설명합니다.

 

 

8.PC에 다운로드한 이미지를 저장하기

 -다운로드한 이미지를 저장하는 방법에 대해 설명합니다.

 

 

 

 

※ 추가 학습(아래)


 

 

9.인코딩된 이미지 제외하기

 -가져온 이미지 중에서 base64 인코딩된 이미지를 예외처리하는 방법에 대해 설명합니다.

 

10.파일이름에 특수문자 포함 시 처리하기

 -파일이름에 특수문자('/', '?' 등)가 포함되면 에러가 발생하므로 이러한 특수문자를 처리하는 방법에 대해 알아봅니다.

 

11.이미지 저장을 위한 별도 폴더 생성

 -이미지를 현재 폴더에 저장하면 소스와 섞여 어지러워 보이므로 깔끔하게 보이도록 별도 폴도를 생성하는 방법에 대해 알아봅니다.

 

12.폴더 이름을 현재시간을 사용해서 만들기

 -폴더 이름은 생성시 마다 자동으로 변경될 수 있도록 현재시간을 이용하여 만드는 방법에 대해 알아봅니다.

 

 

13.셀레니움을 이용해서 페이지 내리기

 -마지막으로 많은 수의 이미지(예: 강아지 100장 등)를 내려 받으려면 셀레니움을 이용하여 동적으로 페이지 다운 후 다운로드 해야 하는데, 이러한 동적 페이지 다운 방법에 대해 알아 봅니다.

 

 

 

 

O 완성된 프로그램 실행 화면

 - 최종 완성된 프로그램의 결과화면은 아래와 같습니다.

 

1.프로그램 실행시 강아지 이미지 2장이 잘 저장된 것을 볼 수 있습니다.

 

 

 

2.프로그램을 실행하면 먼저 셀레니움이 자동으로 크롬 브라우저를 띄우고 네이버에서 '강아지'로 검색합니다.

 

 

 

 

3. 아래와 같이 날짜형태로 폴더가 생성되었습니다.

 

 

 

 

4.폴더에 들어가서 보면 강아지 이미지 2장이 잘 저장된 것을 볼 수 있습니다.

 

 

 

5.네이버 검색사이트에서 '강아지'로 검색한 결과 맨 왼쪽부터 2장의 이미지가 우리가 위에서 다운로드 받은 이미지 2장과 동일함을 알 수 있습니다.

 

 

 

 

 

 

 

 

이후 글부터 위의 '향후 진행 순서'에서 말씀 드린 내용대로 하나씩 자세해 설명 드리겠습니다.

 

 

오늘은 여기까지이며, 댓글하트는 제가 이글을 지속할 수 있게 해주는 힘이 됩니다.

 

 

 

감사합니다.

 

 

※ 추가적인 정보는 아래 유튜브 영상에서 해당 내용을 더욱 자세히 보실 수 있습니다.

728x90
반응형
LIST