[파이썬] 웹 스크래핑과 날씨 정보 추출

웹 스크래핑은 인터넷에서 정보를 추출하는 과정을 의미합니다. 이를 통해 웹사이트의 데이터를 수집하고, 필요한 정보를 추출할 수 있습니다. 이번 블로그 포스트에서는 파이썬을 사용하여 날씨 정보를 추출하는 웹 스크래핑 예제를 소개하겠습니다.

BeautifulSoup 라이브러리

날씨 정보를 추출하기 위해 BeautifulSoup 라이브러리를 사용합니다. BeautifulSoup은 웹 스크래핑에 유용한 도구로써, HTML 또는 XML 문서를 파싱하여 원하는 데이터를 추출할 수 있게 해줍니다. 아래는 BeautifulSoup을 사용하여 웹 페이지의 HTML을 파싱하는 예제 코드입니다.

import requests
from bs4 import BeautifulSoup

# 웹 페이지 요청
url = "https://www.weather.com"
response = requests.get(url)

# HTML 파싱
soup = BeautifulSoup(response.content, "html.parser")

# 원하는 정보 추출
# ...

이 예제 코드에서는 requests 모듈을 사용하여 웹 페이지에 GET 요청을 보내고, 이에 대한 응답을 받아옵니다. 그 후 BeautifulSoup을 사용하여 HTML을 파싱합니다. 이후에는 원하는 정보를 추출하는 부분을 추가로 작성하면 됩니다.

날씨 정보 추출 예제

이번에는 BeautifulSoup을 사용하여 실제로 날씨 정보를 추출하는 예제를 살펴보겠습니다. 아래는 OpenWeatherMap에서 제공하는 API를 사용하여 특정 도시의 날씨 정보를 추출하는 예제 코드입니다.

import requests
from bs4 import BeautifulSoup

# OpenWeatherMap API 키
api_key = "your_api_key"

# 도시명 입력
city = "Seoul"

# API 요청 URL
url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}"

# API 호출
response = requests.get(url)

# JSON 파싱
data = response.json()

# 날씨 정보 추출
weather = data['weather'][0]['description']
temperature = data['main']['temp']

print(f"날씨: {weather}")
print(f"온도: {temperature}℃")

이 예제 코드에서는 OpenWeatherMap에서 제공하는 API를 사용하여 특정 도시의 날씨 정보를 가져옵니다. API 키와 도시명을 변수에 입력하고, API 요청 URL을 생성한 뒤 requests.get() 함수를 사용하여 API를 호출합니다. 그 후 응답을 JSON 형식으로 파싱하여 원하는 날씨 정보를 추출합니다.

결론

이번 포스트에서는 파이썬을 사용하여 웹 스크래핑을 통해 날씨 정보를 추출하는 예제를 소개했습니다. BeautifulSoup 라이브러리를 사용해 HTML을 파싱하고, OpenWeatherMap API를 활용하여 날씨 정보를 추출하는 방법을 다루었습니다. 웹 스크래핑은 다양한 분야에서 유용하게 활용될 수 있으므로, 필요한 정보를 추출하기 위해 항상 새로운 도구와 기술을 학습하는 것이 중요합니다.