본문으로 건너뛰기
실습하기

파이썬으로 위키피디아 홈페이지 정보 가져오기

위키피디아(Wikipedia)는 전 세계 사람들이 함께 만들어 나가는 온라인 백과사전입니다. 📘

이번 수업에서는 파이썬 코드로 위키피디아의 특정 페이지에서 원하는 정보를 수집해 보겠습니다.

BeautifulSouprequests 라이브러리를 활용해, 아래와 같이 위키피디아 홈페이지의 제목(Title)과 설명(Description)을 가져올 수 있습니다.


Step 1: 작업에 필요한 라이브러리 불러오기

requests와 BeautifulSoup 라이브러리를 가져옴
import requests
from bs4 import BeautifulSoup

위 코드는 아래와 같은 작업을 수행합니다.

  • import 키워드로 HTTP 통신을 위한 requests 라이브러리를 불러옴

  • from 키워드로 웹페이지의 데이터를 수집하기 위한 bs4 패키지를 불러오고, bs4 패키지의 BeautifulSoup 클래스를 가져옴


Step 2: url에서 HTML을 가져와 변수에 저장하기

BeautifulSoup으로 아래와 같이 웹페이지의 HTML을 가져와 변수에 저장합니다.

위키피디아 홈페이지에서 HTML 가져오기
# 위키피디아 홈페이지 주소
url = "https://www.wikipedia.org"

# requests 라이브러리로 URL로부터 HTML을 가져옴
response = requests.get(url)

# 가져온 HTML의 인코딩을 UTF-8로 설정
response.encoding = 'utf-8'

# 변수 soup에 HTML을 가져온 결과가 저장됨
soup = BeautifulSoup(response.text, 'html.parser')

위 코드는 아래와 같은 작업을 수행합니다.

  • url 변수에 위키피디아 홈페이지 주소 저장

  • requests.get(url)을 통해 url 주소로부터 HTML을 가져옴

  • BeautifulSoup(response.text, 'html.parser')를 통해 가져온 HTML을 파싱(Parsing, 데이터 처리)하고, 파싱된 결과를 soup 변수에 저장


Step 3: 제목과 설명 정보 추출하기

아래와 같이 soup 변수에서 원하는 정보를 추출합니다.

위키피디아 홈페이지에서 제목과 설명 추출
# 웹 페이지에서 h1(heading 1, 제목) 추출
h1_title = soup.find('h1').text

# 웹 페이지에서 p(paragraph) 태그 추출
p_description = soup.find('p').text

위 코드는 아래와 같은 작업을 수행합니다.

  • soup.find('h1').text를 통해 soup 변수에서 h1 태그를 찾아 제목을 추출하고, h1_title 변수에 저장

  • soup.find('p').text를 통해 soup 변수에서 p 태그를 찾아 설명을 추출하고, p_description 변수에 저장

마지막으로 print 함수를 사용하여 url에서 가져온 제목과 설명을 출력합니다.


실습

화면 오른쪽의 코드 실행 버튼을 누르고, 스크래핑 결과를 확인해 보세요. 첫번째 코드 실행은 다소 시간이 소요될 수 있습니다.

코드의 url 주소를 변경하여(예: https://www.codefriends.net) 다른 웹 페이지의 정보를 가져올 수도 있습니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!