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

(실습)파이썬 네이버에서 강아지로 검색 후 강아지 이미지를 자동으로 크롤링 하는 프로그램 만들기 - 4.가져온 소스 필터링 테스트 하기

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

ㅁ 개요

 

O 프로그램 소개

 

 

 - 이번 글은 이전글( (실습)파이썬 네이버에서 강아지로 검색 후 강아지 이미지를 자동으로 크롤링 하는 프로그램 만들기 - 3.네이버 검색 페이지에서 모든 소스 가져오기)에 이은 5번째 글로 이전글에서 가져온 소스에서 이미지 태크만 뽑아내는 방법에 대해서 설명합니다

 

 

 

 

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

 

 

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

 

 

1.소스코드를 실행하면 아래와 같이 검색결과를 가져와서 보여줍니다.

첫번째 보여주는 것은 html 그대로의 소스입니다.

 

 

 

 

 


 

ㅁ 세부 내용

 

O 완성된 소스

 

 

소스 : 4.crawing_naver.py

 

 

O 소스 실행

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

 

 


 

O 주요 내용

 

크롤링(스크래핑)을 하려면 소스(html)의 구조 분석을 해야 합니다. 아래 간략히 설명합니다.

*크롤링 : 다 가져오는 것

*스크래핑 : 원하는 것만 가져오는 것

**여기서는 그냥 크롤링이란 용어로 통일하겠습니다.

 

1.검색페이지에서 첫번째 강아지 이미지 위에 마우스 우클릭 > 검사를  누릅니다.

 

 

 

2.아래 화면과 같이 이미지의 클래스 속성이 '_fe_image_tab_content_thumbnail_image' 이렇게 되어 있습니다.

 

 

 

3. 두첫번째 강아지 이미지 위에 마우스 우클릭 > 검사를  누릅니다.

 

 

4.아래 화면과 같이 이미지의 클래스 속성이 '_fe_image_tab_content_thumbnail_image' 으로 첫번째 이미지의 클래스 속성과 동일합니다. 몇 개 더 이미지의 클래스 속성을 살펴보았더니 모두 동일합니다.

즉, 우리가 가져오려는 이미지는 클래스의 속성이 ' _fe_image_tab_content_thumbnail_image'인 이미지를 가져오면 되겠다라는 것을 알아 냈습니다.

 

 

 

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

 

line 42 : soup객체의 find함수를 이용하여 img태그의 클래스 속성이 ' _fe_image_tab_content_thumbnail_image ' 인 이미지를 가져옵니다.

 

**참고

soup.find() : 소스내 일치하는 첫번째 내용물만 가져옵니다.

soup.find_all() : 소스내 일치하는 모든 내용물을 가져옵니다.

 

우리는 이후 시간에 find_all()함수를 이용하여 img태그의 클래스 속성이 ' _fe_image_tab_content_thumbnail_image '인 모든 모든 이미지를 가져올 것입니다.

 

 

 

아래와 같이 코드 실행 시 하나의 이미지 태그만 가져온 것을 알 수 있습니다.

 


 

ㅁ 정리

 

O 우리가 배운 내용

 
 - 오늘 우리는 이전글에서 가져온 소스에서 이미지 태크만 뽑아내는 방법에 대해서 알아보았습니다.

 

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

soup객체의 find함수를 이용하여 img태그의 클래스 속성이 '_fe_image_tab_content_thumbnail_image' 인 이미지를 가져옵니다.

img = soup.find('img', {'class': '_fe_image_tab_content_thumbnail_image'})

 

 

- 다음 시간에는 이전글에서 가져온 소스내 이미지 태크의 속성 중에서 'src' 와 'alt' 만 가져와서 리스트에 담는 방법에 대해 알아보겠습니다.

 
 

 

 
 

 

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

 

 

감사합니다.

728x90
반응형
LIST