scrapper 를 활용한 일자리 웹사이트 만들기 (flask 도입)

YEONGHUN KO·2021년 11월 16일
0

PYTHON - SCRAPPER

목록 보기
6/17
post-thumbnail

1. flask 사용

이번엔 꽤나 흥미로운 프로젝트를 시작할거다. 웹사이트를 하나 만든다음에 그 웹사이트안에 내가 만든 scrapper 기능을 추가하여 실행시킨다. 그리고 결과값을 띄어준다. 여기서 더 나아가 원한다면 그 결과를 csv로 다운받을 수 있게 해주는 기능도 추가하려고 한다. 이때 사용할 프레임워크는 flask 이다. 간단한 웹사이트정도는 뚝딱 만들어낼 수 있게 해준다. 아래의 코드를 살펴보자.

우선 superscrap.py 라는 파일을 만들고 아래의 코드를 입력한다.

from flask import Flask, render_template
# flask 와 안에 들어있는 함수 import

app = Flask(__name__) # 플라스크 함수를 변수에 담아준다.

@app.route('/') # 웹사이트 제일 첫번째 화면 url 이 된다.
def home():
    return render_template("flower.html")
# 이런식으로 render_temlplate 함수를 import 하여, html 파일을 home 함수안에서 불러와 웹상에 그 파일을 띄울 수 있게 된다.(flower.html 은 아래에 첨부해놨다.) 
# 기억!!: 반드시 'templates' 라는 폴더를 만들고 그 안에 파일을 넣어야 작동이 되는구나!!

@app.route('/contact')
def contact():    
    return "come back to me"
# 다른 페이지 작성하는 법. url 에 localhost:5000/contact 라고 입력하면 아래의 함수가 작동한다.

# @app.route('/<username>')
# def username(username):
#     return f"Hello your name is {username}"
# url 입력란에다가 '/<username>' 요렇게 해주고 밑에 인자를 받는 함수를 입력하면 url에 입력하는 글자가 인자가 되어 username 함수에 대입된다. 
# 이런걸 dynamic url 이라고 한다.


app.run(host="0.0.0.0")

# 웹사이트 ON!
# 계속 /contact 했을때 not found 가 떠서 뭐지 했는데 알고보니, 새로고침이 안되서 그런것이었다.
# ctrl + c 해주거나 superscrap.py를 나갔다가 다시 들어가면 될것이다.

그럼 이제 홈화면에 위치해있을때 display 되는 flower.html 을 살펴보자.

<!DOCTYPE html> <!-- html 라는걸 선언 -->
<html>
    <head>
        <title>
            Job search
        </title>
    </head>        
    <body>
        <h1>
            Job Search
        </h1>
        <form action = "report" method="GET">
            <input placeholder="what job do you want?" required name="word"/> 
            <button>Search</button> 
            <!-- 무슨뜻이냐? 정보를 입력하고 엔터를 눌렀을때 /report라는 페이지로 정보가 이동하고(superscrap.py에서 app.route('/report')를 만들거다) 이동하는 방법은 그 정보를 get하는 것이다.
             그리고 required name ="word" 는 url 상에 '?word=데이터'(이걸 'query argument' 라고 한다) 라고 뜨게 된다. 
             그럼 파이썬 프로그램에서 새로 생긴 url을 이용해 페이지를 유동적으로 관리할 수 있게 된다. 전반적으로는, 데이터를 다른페이지로 보내는 방법이다. -->
        </form>
    </body>    
</html>

그리고 CMD 로 superscrap.py를 실행시켜 local서버를 열고 localhose:5000으로 들어가야지만 검색이 가능하므로 까먹지 말자!

결과는 이런식으로 뜬다.

그럼 다음글에서 report 페이지를 어떻게 설정하는지 알아보자.

profile
'과연 이게 최선일까?' 끊임없이 생각하기

0개의 댓글