欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python + flask + ajax 网页版摘要提取

程序员文章站 2023-12-24 12:19:51
...

项目简介,做一个网页版的摘要提取程序,就是第一句加最后一句。主要是体现网页端的输入和输出。

最后的效果是这样的:
python + flask + ajax 网页版摘要提取

项目结构:

项目文件层级如下
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这个文件就是实现处理功能的模块。这里就写了三行的功能代码。如果要实现更复杂的功能,可以继续扩展。

相关标签: 自然语言处理

上一篇:

下一篇: