이번 포스트에서는 Python 웹 프레임워크인 Flask를 사용하여 간단한 위키피디아 스크랩링 앱을 개발하는 방법에 대해 알아보겠습니다. 이 앱은 사용자가 입력한 검색어에 관한 위키피디아 페이지를 가져와 보여줄 것입니다.
시작하기 전에
이 튜토리얼을 따라하기 위해서는 Python 및 Flask가 설치되어 있어야 합니다. 만약 Flask가 설치되어 있지 않다면, 아래의 명령어로 설치할 수 있습니다.
pip install flask
프로젝트 설정
먼저, 새로운 폴더를 만들고 그 안에 app.py
라는 파일을 생성합니다. 이 파일은 Flask 애플리케이션의 진입점으로 사용됩니다. 이를 통해 서버를 실행하고 위키피디아 스크랩링을 처리하는 코드를 작성할 것입니다.
필수 패키지 설치
위키피디아 페이지를 가져오기 위해 wikipedia-api
패키지를 설치합니다.
pip install wikipedia-api
앱 코드 작성
app.py
파일에 아래와 같은 코드를 작성합니다.
from flask import Flask, request, render_template
import wikipediaapi
app = Flask(__name__)
wiki_wiki = wikipediaapi.Wikipedia('en')
@app.route('/')
def index():
return render_template('index.html')
@app.route('/search')
def search():
query = request.args.get('query')
page = wiki_wiki.page(query)
if page.exists():
return page.text
else:
return 'Page not found'
if __name__ == '__main__':
app.run(debug=True)
위의 코드는 Flask 애플리케이션을 설정하고 사용자가 입력한 검색어에 해당하는 위키피디아 페이지를 가져와 보여줍니다.
HTML 템플릿 작성
위의 코드에서 render_template
함수를 사용하여 index.html
파일을 렌더링하도록 했습니다. 따라서 templates
폴더를 만들고 그 안에 index.html
을 작성해야 합니다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Wikipedia Scraper</title>
</head>
<body>
<h1>Wikipedia Scraper</h1>
<form action="/search" method="get">
<input type="text" name="query" placeholder="Enter search term">
<button type="submit">Search</button>
</form>
</body>
</html>
이 HTML 파일은 간단한 입력 폼을 보여주고, 사용자가 검색어를 입력하여 서버로 전송할 수 있도록 합니다.
결론
이제 위키피디아 스크랩링 앱을 개발하기 위해 Flask를 사용하는 방법에 대해 알아보았습니다. 사용자가 검색어를 입력하면 해당 페이지를 가져와 보여주는 간단한 기능을 구현했습니다. Flask를 사용하면 이러한 웹 애플리케이션을 빠르게 개발할 수 있습니다.
더 많은 Flask 기능 및 세부 구성 방법에 대한 내용은 Flask 공식 문서를 참고하시기 바랍니다.