파이썬으로 위키피디아 홈페이지 정보 가져오기
위키피디아(Wikipedia)는 전 세계 사람들이 함께 만들어 나가는 온라인 백과사전입니다. 📘
이번 수업에서는 파이썬 코드로 위키피디아의 특정 페이지에서 원하는 정보를 수집해 보겠습니다.
BeautifulSoup
과 requests
라이브러리를 활용해, 아래와 같이 위키피디아 홈페이지의 제목(Title)과 설명(Description)을 가져올 수 있습니다.
Step 1: 작업에 필요한 라이브러리 불러오기
import requests from bs4 import BeautifulSoup
위 코드는 아래와 같은 작업을 수행합니다.
-
import
키워드로 HTTP 통신을 위한 requests 라이브러리를 불러옴 -
from
키워드로 웹페이지의 데이터를 수집하기 위한 bs4 패키지를 불러오고, bs4 패키지의 BeautifulSoup 클래스를 가져옴
Step 2: url에서 HTML을 가져와 변수에 저장하기
BeautifulSoup으로 아래와 같이 웹페이지의 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
) 다른 웹 페이지의 정보를 가져올 수도 있습니다.
파이썬으로 웹 스크래핑을 할 때, HTML을 파싱하는데 사용되는 라이브러리는 무엇인가요?
가이드라인
AI 튜터
배포
디자인
업로드
수업 노트
즐겨찾기
도움말