tobby48 4 years ago
parent
commit
bb60d9e3c8

+ 65
- 65
src/main/python/kr/co/swh/lecture/opensource/project/naverblog/naver-blog-nlp-ranking-d3-step3.py View File

@@ -1,66 +1,66 @@
1
-from konlpy.tag import Kkma
2
-import os
3
-import sys
4
-import urllib.request
5
-import json
6
-import re
7
-
8
-def naver_blog_search(client_id, client_secret, text):
9
-    encText = urllib.parse.quote(text)
10
-    url = "https://openapi.naver.com/v1/search/blog?query=" + encText # json 결과
11
-    # url = "https://openapi.naver.com/v1/search/blog.xml?query=" + encText # xml 결과
12
-    request = urllib.request.Request(url)
13
-    request.add_header("X-Naver-Client-Id",client_id)
14
-    request.add_header("X-Naver-Client-Secret",client_secret)
15
-    response = urllib.request.urlopen(request)
16
-    rescode = response.getcode()
17
-    if(rescode==200):
18
-        response_body = response.read()
19
-        return response_body.decode('utf-8')
20
-    else:
21
-        print("Error Code:" + rescode)
22
-    
23
-def striphtml(data):
24
-    p = re.compile('<.*?>')
25
-    return p.sub('', data)
26
-
27
-def nlp_process():
28
-    result = []
29
-    kkma = Kkma()
30
-    naver_result = naver_blog_search('OJgN42xxZiJXpnZtCH1j', 'crXggqJhhW', '코딩')
31
-    y = json.loads(naver_result)
32
-    for b in y['items']:
33
-        for word, pos in kkma.pos(striphtml(b['description'])):
34
-            if pos == 'NNG' or pos == 'NNP':
35
-                result.append(word)
36
-                
37
-    words = set(result)
38
-    loofWords = list(words)
39
-    countList = []
40
-    for b in loofWords:
41
-        if result.count(b) > 1:
42
-            dic = dict()
43
-            dic["text"] = b
44
-            dic["size"] = result.count(b)
45
-            countList.append(dic)
46
-    return countList
47
-
48
-
49
-
50
-from flask import Flask, jsonify, render_template
51
-import requests
52
-from bs4 import BeautifulSoup
53
-
54
-app = Flask(__name__)
55
-# app.config['JSON_AS_ASCII'] = False
56
-countList = ""
57
-
58
-@app.route("/")
59
-def view():
60
-    return render_template("naver-blog-nlp-ranking-d3.html", values=countList)
61
-
62
-if __name__ == "__main__":
63
-    countResultList = nlp_process()
64
-    print(countResultList)
65
-    countList = countResultList;
1
+from konlpy.tag import Kkma
2
+import os
3
+import sys
4
+import urllib.request
5
+import json
6
+import re
7
+
8
+def naver_blog_search(client_id, client_secret, text):
9
+    encText = urllib.parse.quote(text)
10
+    url = "https://openapi.naver.com/v1/search/blog?query=" + encText # json 결과
11
+    # url = "https://openapi.naver.com/v1/search/blog.xml?query=" + encText # xml 결과
12
+    request = urllib.request.Request(url)
13
+    request.add_header("X-Naver-Client-Id",client_id)
14
+    request.add_header("X-Naver-Client-Secret",client_secret)
15
+    response = urllib.request.urlopen(request)
16
+    rescode = response.getcode()
17
+    if(rescode==200):
18
+        response_body = response.read()
19
+        return response_body.decode('utf-8')
20
+    else:
21
+        print("Error Code:" + rescode)
22
+    
23
+def striphtml(data):
24
+    p = re.compile('<.*?>')
25
+    return p.sub('', data)
26
+
27
+def nlp_process(word):
28
+    result = []
29
+    naver_result = naver_blog_search('OJgN42xxZiJXpnZtCH1j', 'crXggqJhhW', word)
30
+    y = json.loads(naver_result)
31
+    for b in y['items']:
32
+        for word, pos in kkma.pos(striphtml(b['description'])):
33
+            if pos == 'NNG' or pos == 'NNP':
34
+                result.append(word)
35
+                
36
+    words = set(result)
37
+    loofWords = list(words)
38
+    countList = []
39
+    for b in loofWords:
40
+        if result.count(b) > 1:
41
+            dic = dict()
42
+            dic["text"] = b
43
+            dic["size"] = result.count(b)
44
+            countList.append(dic)
45
+    return countList
46
+
47
+
48
+
49
+from flask import Flask, jsonify, render_template
50
+import requests
51
+from bs4 import BeautifulSoup
52
+
53
+app = Flask(__name__)
54
+# app.config['JSON_AS_ASCII'] = False
55
+countList = ""
56
+kkma = Kkma()
57
+
58
+@app.route("/<word>")
59
+def view(word):
60
+    countResultList = nlp_process(word)
61
+    print(countResultList)
62
+    countList = countResultList;
63
+    return render_template("naver-blog-nlp-ranking-d3.html", values=countList)
64
+
65
+if __name__ == "__main__":
66 66
     app.run(host="127.0.0.1", port="8080")