[python] Flask로 위키피디아 스크랩링 앱을 개발하는 방법

이번 포스트에서는 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 공식 문서를 참고하시기 바랍니다.