zoukankan      html  css  js  c++  java
  • 08顶会热词统计

    要求:

    对爬取的信息进行结构化处理,分析top10个热门领域或热门研究方向;可进行论文检索,当用户输入论文编号、题目、关键词等基本信息,分析返回相关的paper、source code、homepage等信息

    形成如关键词图谱之类直观的查看方式;

    可对多年间、不同顶会的热词呈现热度走势对比(这里将范畴限定在计算机视觉的三大顶会CVPR、ICCV、ECCV内)。

    代码:

    import pymysql

    import query as query

    from flask import Flask, jsonify, render_template, request, url_for, redirect

    app = Flask(__name__)

    def get_conn():

        conn = pymysql.Connect(

            host='localhost',

            port=3306,

            user='root',

            passwd='123456',

            db='reci',

            charset='utf8'

        )

        cursor = conn.cursor()

        return conn, cursor

    def close_conn(conn, cursor):

        cursor.close

        conn.close

    def query(sql, *args):

        conn, cursor = get_conn()

        cursor.execute(sql, args)

        res = cursor.fetchall()

        close_conn(conn, cursor)

        return res

    @app.route('/bbb')

    def hello_world2():

        return render_template("yun.html")

    @app.route('/kkk')

    def hello_world3():

        sql = "select * from reci2 order by id asc limit 20"

        res = query(sql)

        l1 = len(res)

        d = []

        for i in range(0, l1):

            d.append({"name": res[i][0], "value": res[i][2]})

        return jsonify({"ksw": d})

    @app.route('/display')

    def display():

        print ("aaaaaaaaaaaa")

        params = request.values.get("paper")

        params = params.capitalize()

        sql = "SELECT * FROM reci WHERE  title LIKE '%%%%%s%%%%'" % params

        print (sql)

        res = query(sql)

        l1 = len(res)

        print(l1)

        d = []

        for i in range(0, l1):

            d.append([res[i][2], res[i][3], res[i][4], res[i][1]])

        return jsonify({"paper": d})

    if __name__ == '__main__':

    app.run()

    <html>

        <head>

            <meta charset="utf-8">

            <script src='https://cdn.bootcss.com/echarts/3.7.0/echarts.simple.js'></script>

            <script src='../static/js/echarts-wordcloud.min.js'></script>

            <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>

        </head>

        <body>

            <style>

                html, body, #main {

                    100%;

                    height: 100%;

                    margin: 0;

                }

            </style>

            <div id='main'></div>

            <div id="display"></div>

            <script>

                function take(){

                    $.ajax({

                        url:"/kkk",

                        success:function (data) {

                            option.series[0].data=data["ksw"]

                            chart.setOption(option);

                            window.onresize = chart.resize;

                        }

                    })

                }

                take()

         chart = echarts.init(document.getElementById('main'));

         option = {

            tooltip: {},

            series: [{

                type: 'wordCloud',

                gridSize: 2,

                sizeRange: [12, 50],

                rotationRange: [-90, 90],

                shape: 'pentagon',

                600,

                height: 400,

                drawOutOfBound: true,

                textStyle: {

                    normal: {

                        color: function () {

                            return 'rgb(' + [

                                Math.round(Math.random() * 160),

                                Math.round(Math.random() * 160),

                                Math.round(Math.random() * 160)

                            ].join(',') + ')';

                        }

                    },

                    emphasis: {

                        shadowBlur: 10,

                        shadowColor: '#333'

                    }

                },

                data: []

            }]

        }

        chart.on('click', function (params) {

            $.get("/display",{paper:params["name"]},function(data){

                var loveStr = "";

                for (let i = 0; i < data["paper"].length; i++) {

                  loveStr += `<div><div> 标题:${data["paper"][i][0]} </div><br/>`+

                          `<div> 摘要:${data["paper"][i][1]} </div><br/>`+

                          `<div> 作者:${data["paper"][i][2]} </div><br/>`+

                          `<a href="${data["paper"][i][3]}"> 链接 </a></div><br/><br/>`

                  };

        //拼接完字符串数组后用innerHTML把它渲染到页面中

        document.getElementById("display").innerHTML = loveStr;

            })

        });

            </script>

        </body>

    </html>

    运行截图展示:

  • 相关阅读:
    利用java反射机制,使用android系统的内部类成员函数
    Android2.2 API 中文文档系列(5) —— View
    android 的系统编译
    git reset使用
    linux解压 tar命令
    Android之Service与IntentService的比较
    .equ .long表示什么意思?
    解决Android平台布局xml文件的error parsing xml unbound prefix错误
    玩转C链表
    android下创建文件夹和修改其权限的方法
  • 原文地址:https://www.cnblogs.com/Lhxxx/p/13237774.html
Copyright © 2011-2022 走看看