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

(실습)파이썬 네이버에서 강아지로 검색 후 강아지 이미지를 자동으로 크롤링 하는 프로그램 만들기 - 10.인코딩된 이미지 제외하기

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

ㅁ 개요

 

O 프로그램 소개

 

 

 - 이번 글은 이전글((실습)파이썬 네이버에서 강아지로 검색 후 강아지 이미지를 자동으로 크롤링 하는 프로그램 만들기 - 9.파일이름에 특수문자 포함 시 처리하기)에 이은 11번째 글로 가져온 이미지 중에서 base64 인코딩된 이미지를 예외처리하는 방법에 대해 설명하겠습니다.

 

 

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

 

 

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

 

 

1.이전 소스코드( 9.crawing_naver.py )에서 다운로드 이미지 수를 더 늘리면(예 : j=20) 아래와 같이 에러가 발생합니다.

아래 오류코드를 보면 81라인 즉, 이미지를 파일로 저장시 에러가 발생하고 있습니다.

확인 결과 base64인코딩된 이미지를 저장 시 포멧이 달라 에러가 발생함을 확인하였습니다.

 

 

코드를 수정 후 다시 실행하면 아래와 같이 오류가 수정되고 여러 이미지(예: 20장)가 모두 잘 저장되는 것을 볼 수 있습니다.

 

아래 특수기호가 포함된 이미지 파일의 경우 특수기호를 삭제한 이름으로 저장된 것을 볼 수 있습니다.


 

ㅁ 세부 내용

 

O 완성된 소스

 

 

소스 : 10.crawing_naver.py

 

O 소스 실행

 
 - 소스파일 다운로드 후 cmd, 파워쉘 또는 vscode 등에서 아래와 같이 실행하시기 바랍니다.
 
 > python 10.crawing_naver .py

 

 


 

O 주요 내용

 

 

아래 소스에 대해 간략히 설명하면 다음과 같습니다.

 

line 83 : url의 문자열에서 아래와 같이 split를 이용하여 ':'로 분리 후 첫번째[0] 인자인 htts를 비교하여 '참'인 경우만 수행하게 하여 에러를 방지 하였습니다.

link.split(':')[0] == 'https:

 

 

 

 


 

ㅁ 정리

 

O 우리가 배운 내용

 
 - 오늘 우리는 가져온 이미지 중에서 base64 인코딩된 이미지를 예외처리하는 방법에 대해 알아보았습니다.

 

 - 오늘 우리가 배운 내용 중 가장 중요한 부분을 꼽으라면 아래와 같습니다.

link(url)의 문자열에서 split를 이용하여 ':'로 분리 후 첫번째[0] 인자인 https를 비교하여 '참'인 경우만 수행하게 함

if link.split(':')[0] == 'https':

 

 

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

 
 
 
 

 

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

 

 

감사합니다.

728x90
반응형
LIST