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

이하윤님의 프로필 이미지
이하윤

작성한 질문수

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

패턴으로 실습하며 익히기: 크롤링 코드 패턴으로 익히기2

파싱에서 BeautifulSoup질문

작성

·

259

0

패턴으로 실습하며 익히기: 크롤링 코드 패턴으로 익히기2 10:19

3번 웹페이지 파싱하기에서 BeautifulSoup(res.content,"html.parser") 에서

질문이 있습니다

  1. BeautifulSoup은 함수가 아니라 라이브러리인데

    BeautifulSoup(인자1,인자2)형태인지

  2. "html.parser"는 왜 따옴표를 붙여줘야하는지

  3. BeautifulSoup( , )은 어떤 역할을 하는것인지

입니다

답변 1

0

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

여기서 BeautifulSoupbs4라는 패키지 안에 정의된 클래스입니다. 클래스는 객체를 생성하는 '틀' 같은 것으로 이해하시면 됩니다. 따라서 BeautifulSoup(res.content, "html.parser")는 BeautifulSoup 클래스의 인스턴스(즉, 객체)를 생성하는 코드입니다.

BeautifulSoup(인자1, 인자2) 형태는 클래스의 생성자 함수를 호출하는 것입니다. 생성자 함수는 클래스를 기반으로 객체를 생성할 때 호출되며, 필요한 초기화 작업을 수행합니다.

여기서 res.content"html.parser"BeautifulSoup 생성자 함수에 전달되는 인자들입니다.

  • res.content는 웹페이지의 내용을 담고 있는 데이터입니다. requests 라이브러리를 사용하여 웹페이지를 가져올 때, 웹페이지의 내용은 Response 객체의 content 속성에 저장됩니다.

  • "html.parser"는 BeautifulSoup가 사용할 파서(parser)의 이름입니다. 파서는 문서의 구조를 해석하는 역할을 합니다. "html.parser"는 Python 표준 라이브러리에 포함된 HTML 파서를 사용하겠다는 의미입니다.

따라서, BeautifulSoup(res.content, "html.parser")는 웹페이지의 내용(res.content)을 HTML 파서("html.parser")를 사용하여 해석하는 BeautifulSoup 객체를 생성합니다. 이 객체는 이후에 웹페이지의 구조를 탐색하고 데이터를 추출하는 데 사용됩니다.

감사합니다.

이하윤님의 프로필 이미지
이하윤

작성한 질문수

질문하기