Python은 웹 페이지의 데이터를 저장하고 출력하는 데 매우 강력한 도구입니다. 웹 크롤링 및 스크래핑과 같은 작업을 수행하여 웹 페이지에서 데이터를 추출하고, 이를 로컬 컴퓨터에 저장하거나 웹 페이지에 출력할 수 있습니다. 이번 포스트에서는 Python을 사용하여 웹 페이지의 데이터를 저장하고 출력하는 방법에 대해 알아보겠습니다.
데이터 저장하기
Python에서는 request 모듈을 사용하여 웹 페이지에 GET 요청을 보낼 수 있습니다. 해당 웹 페이지의 HTML을 가져와 원하는 데이터를 추출합니다. 이를 위해 BeautifulSoup 라이브러리를 사용할 수 있습니다. BeautifulSoup은 HTML 및 XML 문서를 분석하고 데이터를 추출하는 데 사용되는 파싱 라이브러리입니다.
다음은 예시입니다.
import requests
from bs4 import BeautifulSoup
# 웹 페이지에 GET 요청 보내기
response = requests.get("https://www.example.com")
# HTML을 파싱하기
soup = BeautifulSoup(response.content, "html.parser")
# 원하는 데이터 추출하기
data = soup.find("h1").text
# 데이터 저장하기
with open("data.txt", "w") as file:
file.write(data)
위의 예시에서는 “https://www.example.com” 주소로 GET 요청을 보내고, 응답으로 받은 HTML을 파싱하여 <h1>
태그 안에 있는 텍스트를 추출합니다. 추출한 데이터는 “data.txt”라는 파일에 저장됩니다.
데이터 출력하기
데이터를 저장하는 것 외에도 Python을 사용하여 웹 페이지에 데이터를 출력할 수도 있습니다. 여기서는 Flask 라이브러리를 사용하여 간단한 웹 애플리케이션을 생성하고, 사용자에게 저장된 데이터를 보여줄 것입니다.
다음은 예시입니다.
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def display_data():
# 저장된 데이터를 가져오기
with open("data.txt", "r") as file:
data = file.read()
return render_template("index.html", data=data)
if __name__ == "__main__":
app.run()
위의 예시에서는 Flask 애플리케이션을 생성하고, 루트 URL(“/”)로 요청이 들어오면 display_data
함수가 호출됩니다. 이 함수는 앞서 저장한 데이터를 읽어와 index.html
템플릿에 데이터를 전달합니다. 이 템플릿은 사용자에게 데이터를 보여주는 역할을 합니다.
index.html
파일은 다음과 같이 작성할 수 있습니다.
<!DOCTYPE html>
<html>
<head>
<title>Data Display</title>
</head>
<body>
<h1>Stored Data:</h1>
<p>{{ data }}</p>
</body>
</html>
위의 예시에서는 Flask의 템플릿 엔진을 사용하여 data
변수의 내용을 HTML에 표시합니다.
이제 Flask 애플리케이션을 실행하고 웹 브라우저에서 “http://localhost:5000” 주소로 접속하면 저장한 데이터가 화면에 표시됩니다.
이처럼 Python을 사용하여 웹 페이지의 데이터를 저장하고 출력할 수 있습니다. 이를 바탕으로 크롤링, 데이터 분석, 웹 애플리케이션 개발 등 다양한 작업을 수행할 수 있습니다.