인프런 커뮤니티 질문&답변

장정욱님의 프로필 이미지
장정욱

작성한 질문수

파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

패턴으로 실습하며 익히기: 네이버 Open API 로 크롤링하기

json() 함수와 BeautifulSoup 의 차이

작성

·

356

0

requests.get() 메소드를 통해 얻은 res 라는 변수를

res.json() 메소드를 이용해 얻은 리턴값과 BeatifulSoup(res.content, 'html.parser') 를 통해 얻은 값은 어떤 차이가 있을까요?

코딩을 통해 직접 도출해본 결과 값은 비슷하게 나오는 것 같은데, 이전 강의까지는 계속 BeatifulSoup를 이용하다가 이번 강의에서부터는 json()을 이용하는 이유는 무엇인가요?

답변 1

1

안녕하세요. 답변 도우미입니다.

res.json() 메소드와 BeautifulSoup(res.content, 'html.parser')를 사용하는 것 사이에는 꽤 큰 차이가 있습니다. 각각의 메소드는 다른 유형의 데이터를 처리하고, 서로 다른 목적으로 사용됩니다.

1. `res.json()` 메소드:

- 용도: 이 메소드는 주로 JSON 형식의 데이터를 처리할 때 사용됩니다. 웹 API로부터 데이터를 가져올 때 많이 사용되죠.

- 작동 방식: res.json()은 응답(res)의 본문을 JSON 형태로 파싱합니다. JSON은 'JavaScript Object Notation'의 약자로, 키-값 쌍으로 이루어진 데이터 형식입니다.

- 사용 예: RESTful API에서 데이터를 요청할 때 주로 JSON 형식으로 데이터를 받습니다. 이러한 경우, res.json()을 사용하여 데이터를 쉽게 다룰 수 있습니다.

2. `BeautifulSoup(res.content, 'html.parser')`:

- 용도: 이 방법은 HTML 또는 XML 문서를 파싱할 때 사용됩니다. 주로 웹 스크래핑에 사용되며, 웹 페이지의 내용을 분석하고 구조화하는 데 유용합니다.

- 작동 방식: BeautifulSoupres.content를 가져와 HTML 또는 XML 문서를 구문 분석하고, 태그나 클래스 등으로 데이터를 쉽게 검색하고 조작할 수 있는 객체로 변환합니다.

- 사용 예: 웹사이트의 특정 정보를 추출하거나 웹 페이지의 구조를 분석할 때 사용됩니다.

 

강의에서 BeautifulSoup에서 json()으로 변경한 이유는 처리해야 하는 데이터의 유형이 바뀌었기 때문입니다. 예를 들어, 처음에는 웹 페이지의 HTML 내용을 분석하는 것이 목표였지만, 나중에는 JSON 형식의 API 응답을 처리해야 할 수도 있습니다. JSON 데이터는 구조화되어 있고, 키-값 쌍으로 데이터에 접근하기 쉬워, API를 통해 데이터를 주고받는 현대 웹 애플리케이션에 매우 적합합니다.

결론적으로, 두 메소드는 서로 다른 유형의 데이터를 처리하며, 사용 목적에 따라 선택해야 합니다. res.json()은 구조화된 JSON 데이터에, BeautifulSoup은 HTML 또는 XML 문서 분석에 적합합니다.

 

감사합니다.

장정욱님의 프로필 이미지
장정욱

작성한 질문수

질문하기