인프런 - 강의/트렌드 홈페이지 개발 (Flask, 파이썬크롤링)

3 - 크롤링한 데이터 html에 보여주기

개복치 개발자 2020. 1. 16. 23:55

 

자, 우선을 크롤링부터 시작하겠습니다.

 

일단 기본적으로 크롤링에 필요한 라이브러리 import부터 하고

 

"/"경로로 들어왔을 때의 크롤링 로직을 실행하고

 

from flask import Flask, render_template
app = Flask(__name__)

# 크롤링 라이브러리 import
import requests
from bs4 import BeautifulSoup


@app.route('/')
def hello():

    # 엔터치기
    req = requests.get('https://www.daum.net/')

    # 이런 식으로 HTML에 있는 코드를 다 가져온다
    soup = BeautifulSoup(req.text, 'html.parser')

    myList = []

    for i in soup.select("#mArticle > div.cmain_tmp > div.section_media > div.hotissue_builtin > div.realtime_part > ol > li") :
        myList.append(i.find("a").text)
        print(i.find("a").text)

    return render_template("index.html", list = myList)

@app.route('/about')
def about():
    return "여기는 어바웃입니다."


if __name__ == '__main__':
    app.run()

 

자 그 다음으로 html파일로 데이터를 list라는 변수에 담아서 전달합니다. 그 전달된 list에 변수에 담긴 값을 반복문을 통해서 뽑아냅니다.

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

    <div>

        여기는 html영역입니다.

        <a href="/about">어바웃페이지로 이동</a>

    </div>

    <ul>
        {% for i in list %}
            <li>{{i}}</li>
        {% endfor %}

    </ul>



</body>
</html>