Browse Source

flask restful update

tobby48 5 years ago
parent
commit
67844f6dca

+ 27
- 0
src/main/python/kr/co/swh/lecture/opensource/flask/restful-quiz.py View File

@@ -0,0 +1,27 @@
1
+from flask import Flask, Response, jsonify
2
+import requests
3
+from bs4 import BeautifulSoup
4
+
5
+movie = dict()
6
+app = Flask(__name__)
7
+app.config['JSON_AS_ASCII'] = False
8
+
9
+@app.route("/")
10
+def hello():
11
+    data = jsonify(movie)
12
+    return data    # 일반 텍스트 형식으로 데이터를 전달
13
+
14
+def naverMovie():
15
+    response = requests.get('https://movie.naver.com/movie/sdb/rank/rmovie.nhn')
16
+    html = response.text
17
+    soup = BeautifulSoup(html, 'html.parser')
18
+    ranking = 1
19
+
20
+    for tag in soup.select('div[class=tit3]'):
21
+        url = tag.get('href')
22
+        movie[str(ranking)+'위'] = tag.text.strip()
23
+        ranking = ranking + 1
24
+
25
+if __name__ == "__main__":
26
+    naverMovie()
27
+    app.run(host="127.0.0.1", port="8080")

+ 10
- 0
src/main/python/kr/co/swh/lecture/opensource/flask/restful1.py View File

@@ -0,0 +1,10 @@
1
+from flask import Flask, Response
2
+app = Flask(__name__)
3
+@app.route("/")
4
+def hello():
5
+    data = '<html><head><title>SWH Sample</title></head><body><h1>HTML 입니다.</h1></body></html>'
6
+    header = Response(data, status=200, mimetype='text/html')   # status은 응답코드로 200은 정상처리를 의미
7
+    return header    # HTML 형식으로 데이터를 전달
8
+
9
+if __name__ == "__main__":
10
+    app.run(host="127.0.0.1", port="8080")

+ 10
- 0
src/main/python/kr/co/swh/lecture/opensource/flask/restful2.py View File

@@ -0,0 +1,10 @@
1
+from flask import Flask, Response
2
+app = Flask(__name__)
3
+@app.route("/")
4
+def hello():
5
+    data = '<html><head><title>SWH Sample</title></head><body><h1>HTML 입니다.</h1></body></html>'
6
+    header = Response(data, status=200, mimetype='text/plain')
7
+    return header    # 일반 텍스트 형식으로 데이터를 전달
8
+
9
+if __name__ == "__main__":
10
+    app.run(host="127.0.0.1", port="8080")

+ 11
- 0
src/main/python/kr/co/swh/lecture/opensource/flask/restful3.py View File

@@ -0,0 +1,11 @@
1
+from flask import Flask, json, Response
2
+app = Flask(__name__)
3
+@app.route("/")
4
+def hello():
5
+    data = {'name': 'SWH', 'age': 3, 'subject': 'Coding'}   # 딕셔너리
6
+    js = json.dumps(data)
7
+    header = Response(js, status=200, mimetype='application/json')
8
+    return header    # JSON 형식으로 데이터를 전달
9
+
10
+if __name__ == "__main__":
11
+    app.run(host="127.0.0.1", port="8080")

src/main/python/kr/co/swh/lecture/opensource/flask/restful.py → src/main/python/kr/co/swh/lecture/opensource/flask/restful4.py View File

@@ -3,7 +3,8 @@ app = Flask(__name__)
3 3
 @app.route("/")
4 4
 def hello():
5 5
     data = {'name': 'SWH', 'age': 3, 'subject': 'Coding'}   # 딕셔너리
6
-    return jsonify(data)    # JSON 형식으로 데이터를 전달
6
+    header = jsonify(data)  # Break point 찍은 후 디버깅
7
+    return header    # JSON 형식으로 데이터를 전달
7 8
 
8 9
 if __name__ == "__main__":
9 10
     app.run(host="127.0.0.1", port="8080")

+ 12
- 0
src/main/python/kr/co/swh/lecture/opensource/flask/restful5.py View File

@@ -0,0 +1,12 @@
1
+from flask import Flask, jsonify
2
+app = Flask(__name__)
3
+app.config['JSON_AS_ASCII'] = False
4
+
5
+@app.route("/")
6
+def hello():
7
+    data = {'name': 'SWH', 'age': 3, 'subject': '코딩'}   # 딕셔너리
8
+    header = jsonify(data)  # Break point 찍은 후 디버깅
9
+    return header    # JSON 형식으로 데이터를 전달
10
+
11
+if __name__ == "__main__":
12
+    app.run(host="127.0.0.1", port="8080")