项目简介,做一个网页版的摘要提取程序,就是第一句加最后一句。主要是体现网页端的输入和输出。
最后的效果是这样的:
项目结构:
项目文件层级如下
static --> js -->jquery-3.4.1.min.js
templates --> back.html
ajax.py
process.py
jquery-3.4.1.min.js 这个文件不需要我们动,直接在网上下载一个就行了,现在这个是3.4.1版本,其他版本也可以。
back.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div>
<label for="send_content">原文:</label>
<br>
<textarea id="send_content" rows="20" cols="80" name="send_content"></textarea>
<br>
<input id="send" type="button" value="开始提取">
</div>
<div>
<label for="recv_content">摘要:</label>
<br>
<textarea id="recv_content" rows="10" cols="20" name="recv_content"></textarea>
</div>
<script src="/static/js/jquery-3.4.1.min.js"></script>
<!-- 发送 -->
<script type="text/javascript">
$("#send").click(function () {
var message = $("#send_content").val()
$.ajax({
url:"/send_message/",
type:"GET",
data:{
message:message
},
success:function (data) {
console.log(data.message)
},
error:function () {
alert("接收失败")
}
})
})
</script>
<!-- 接收 -->
<script type="text/javascript">
$("#send").click(function () {
$.getJSON("/change_to_json/",function (data) {
$("#recv_content").val(data.message) //将后端数据显示在前端
console.log("传到前端的数据的类型:" + typeof (data.message))
})
})
</script>
</body>
</html>
ajax.py
from flask import Flask, render_template, request, jsonify
from process import fila
app = Flask(__name__)
@app.route('/')
def index():
return render_template("back.html")
@app.route('/send_message/', methods=['GET'])
def send_message():
global message_get
message_get = ""
message_get = request.args['message']
message_get = fila(message_get)
print("摘要:%s" % message_get)
return '收到'
@app.route('/change_to_json/', methods=['GET'])
def change_to_json():
global message_get
message_json = {
"message": message_get
}
return jsonify(message_json)
if __name__ == '__main__':
app.run(debug=True)
process.py
import re
def fila(chuan):
lili = re.split('。|!|;|?', chuan)
return lili[0] + '。' + lili[-2] + '。'
process.py这个文件就是实现处理功能的模块。这里就写了三行的功能代码。如果要实现更复杂的功能,可以继续扩展。