on
스파르타 내일배움캠프 3일차 (Flask Get, Post 메서드 / Meta 태그)
스파르타 내일배움캠프 3일차 (Flask Get, Post 메서드 / Meta 태그)
9.15
웹 프로그래밍 A-Z기초 4주차
1) Flask
플라스크는 파이썬으로 작성된 웹 프레임워크로, 파이참을 이용해 pip flask 라이브러리를 설치함으로써 사용할 수 있다.
파이썬 기반 웹 프레임워크 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)
head 부분에 위치한 Meta tag / Property 속성을 이용한다.
스파르타코딩 클럽 내일배움캠프 화이팅!]
- 팀 스파르타 할인코드 -
https://spartacodingclub.kr/?f_name=%EB%B0%95%ED%98%95%EB%AF%BC&f;_uid=6118b657ad8d3dd86288ce55
728x90
LIST
from http://thalals.tistory.com/119 by ccl(A) rewrite - 2021-09-15 16:00:55