9.15
웹 프로그래밍 A-Z기초 4주차
1) Flask
- 플라스크는 파이썬으로 작성된 웹 프레임워크로, 파이참을 이용해 pip flask 라이브러리를 설치함으로써 사용할 수 있다.
1. 플라스크 시작하기
- 서버를 실행시킬 폴더를 만든 후, 폴더 안에 app.py 를 하나 만듭니다.
- app.p : 서버를 구동시킬 파일로 사용되며, 이름은 아무거나해도 상관없지만 통상적으로 app.py를 많이 씀
-
from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello, My First Flask!'
- app.py 와 같은 폴더안에 "templates" 폴더를 생성합니다.
- templates : 폴더안에 html 파일이 위치합니다. (templates 폴더는 정해진 약속이므로 꼭 이름을 맞춰야합니다.)
- templates 폴더안의 html 파일을 app.py에 불러오기 위해 render_templates를 사용합니다.
-
from flask import Flask, render_template app = Flask(__name__) ## URL 별로 함수명이 같거나, ## route('/') 등의 주소가 같으면 안됩니다. @app.route('/') def home(): return render_template('index.html') if __name__ == '__main__': app.run('0.0.0.0', port=5000, debug=True)
-
2. Flask GET 메소드, POST 메소드
1) flask GET 요청 방식
from flask import Flask, render_template, request, jsonify
@app.route('/test', methods=['GET'])
def test_get():
title_receive = request.args.get('title_give')
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 GET!'})
- methods = ['GET'] : 메소드를 get형식으로 선언해주는 문구
- 이렇게 서버에 메소드형식을 알려주지 않으면, 클라이언트가 정보를 보내도 서버 쪽에서는 받을 수 없다.
- requests.args.get : requests 모듈로 요청받아진 정보가 들어온다.
- get을 통해 전달된 값들의 URL을 이용하는 것이기 때문에, POST 방식은 다른 방법이 필요하다.
- jsonify : 데이터를 json 형식으로 변화해 준다.
2) flask POST 요청 방식
@app.route('/test', methods=['POST'])
def test_post():
title_receive = request.form['title_give']
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 POST!'})
- request.form : post 방식으로 정보를 받았을 때 flask 에서 핸들링 할 수 있는 방법이다.
2) meta 태그
Meta Tag란
- 해당 문서의 정보인 메타데이터(metadata)를 정의할 때 사용합니다.
- 메타태그는 디자인에 영향을 미치지 않고, 검색 엔진이나 정보를 담은 위치의 개념으로 사용됩니다.
- 메타태그는 항상 head에 위치합니다.
Meta Tag 사용법 (크롤링)
- meta[] : 속성이 일치하는 요소를 가져온다.
import requests
from bs4 import BeautifulSoup
url = 'https://movie.naver.com/movie/bi/mi/basic.nhn?code=171539'
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get(url,headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
# 여기에 코딩을 해서 meta tag를 먼저 가져와보겠습니다.
title = soup.select_one('meta[property="og:title"]')['content']
print(title)
'회고 > Today I Learned' 카테고리의 다른 글
[TIL] 9.19 -스파르타 내일배움캠프 7일차 (TIL에 대해서) (0) | 2021.09.19 |
---|---|
[TIL] 9.17 - 스파르타 내일배움캠프 5일차 (Og 태그 달기, 리눅스 PS 명령어) (2) | 2021.09.18 |
[TIL] 9.16 - 스파르타 내일배움캠프 4일차(AWS 서버 구매 및 배포/ AWS ,mongoDB 연동하기, 포트포워딩, nohup) (0) | 2021.09.16 |
[TIL] 9.14 - 스파르타 내일배움캠프 2일차 (Jquery /크롤링 / MongoDB(파이썬 연동), Robo3T) (0) | 2021.09.14 |
[TIL] 9.13 - 스파르타 내일배움캠프 1일차 (파이참 자동정렬 / 웹 기초 / 부트스트랩) (0) | 2021.09.13 |