第一阶段目标
1、数据爬取:用户可爬取论文的题目、摘要、关键词、原文链接;
2、多条件查询:可进行论文检索,当用户输入论文编号、题目、关键词等基本信息,分析返回相关的paper、source code、homepage等信息;
第二阶段目标
1、热词分析:对爬取的信息进行结构化处理,分析top10个热门领域或热门研究方向;
2、可视化:形成如关键词图谱之类直观的查看方式;
截图:
(1)首页
(2)显示论文信息页面
(3)显示论文热词页面
源码:
(1)Word
package Bean; public class Word { private String id; private String title; private String year; private String link; private String zhaiyao; private String keywords; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getYear() { return year; } public void setYear(String year) { this.year = year; } public String getLink() { return link; } public void setLink(String link) { this.link = link; } public String getZhaiyao() { return zhaiyao; } public void setZhaiyao(String zhaiyao) { this.zhaiyao = zhaiyao; } public String getKeywords() { return keywords; } public void setKeywords(String keywords) { this.keywords = keywords; } public Word() { super(); // TODO Auto-generated constructor stub } public Word(String id, String title, String year, String link, String zhaiyao, String keywords) { super(); this.id = id; this.title = title; this.year = year; this.link = link; this.zhaiyao = zhaiyao; this.keywords = keywords; } }
(2)Dao
package Dao; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import Bean.Word; import Util.DBUtil; public class Dao { public List<Word> show(String keyword) { // TODO Auto-generated method stub String sql="select * from paper ";//where title like " + keyword + "or year like " + keyword + "or link like " + keyword + "or zhaiyao like " + keyword + "or keywords like " + keyword; Connection conn=DBUtil.getConn(); Statement state=null; List<Word> words=new ArrayList<>(); ResultSet rs=null; try { state=conn.createStatement(); rs=state.executeQuery(sql); if(rs!=null) while(rs.next()) { String id=rs.getString("id"); String title=rs.getString("title"); String year=rs.getString("year"); String link=rs.getString("link"); String zhaiyao=rs.getString("zhaiyao"); String keywords=rs.getString("keywords"); Word word=new Word(id, title, year, link, zhaiyao, keywords); words.add(word); } }catch (Exception e) { e.printStackTrace(); }finally { DBUtil.close(rs, state, conn); } return words; } public Boolean delete(String id) { // TODO Auto-generated method stub String sql="delete from paper where id = '" + id + "'"; Connection conn=DBUtil.getConn(); Statement state=null; int a=0; try { state=conn.createStatement(); a=state.executeUpdate(sql); }catch (Exception e) { e.printStackTrace(); }finally { DBUtil.close(state, conn); } if(a>0) return true; else return false; } public List<Word> search(String title, String year, String zhaiyao, String keyword) { // TODO Auto-generated method stub String sql="select * from paper";//where title like " + keyword + "or year like " + keyword + "or link like " + keyword + "or zhaiyao like " + keyword + "or keywords like " + keyword; if(!"".equals(title)) { sql+="where title like '" + title + "'"; if(!"".equals(year)) { sql+="or where year like '" + year + "'"; } if(!"".equals(zhaiyao)) { sql+="or where zhaiyao like '" + zhaiyao + "'"; } if(!"".equals(keyword)) { sql+="or where keyword like '" + keyword + "'"; } } else { if(!"".equals(year)) { sql+="where year like '%" + year + "%'"; if(!"".equals(zhaiyao)) { sql+="or where zhaiyao like '" + zhaiyao + "'"; } if(!"".equals(keyword)) { sql+="or where keyword like '" + keyword + "'"; } } else { if(!"".equals(zhaiyao)) { sql+="where zhaiyao like '" + zhaiyao + "'"; if(!"".equals(keyword)) { sql+="or where keyword like '" + keyword + "'"; } } else { if(!"".equals(keyword)) { sql+="where keywords like '" + keyword + "'"; } } } } Connection conn=DBUtil.getConn(); Statement state=null; List<Word> words=new ArrayList<>(); ResultSet rs=null; try { state=conn.createStatement(); rs=state.executeQuery(sql); if(rs!=null) while(rs.next()) { String id=rs.getString("id"); String title1=rs.getString("title"); String year1=rs.getString("year"); String link=rs.getString("link"); String zhaiyao1=rs.getString("zhaiyao"); String keywords=rs.getString("keywords"); Word word=new Word(id, title1, year1, link, zhaiyao1, keywords); words.add(word); } }catch (Exception e) { e.printStackTrace(); }finally { DBUtil.close(rs, state, conn); } return words; } public List<Word> search1(String title, String year, String zhaiyao, String keyword) { String sql="select * from paper where title like" +" '%deep%' "; Connection conn=DBUtil.getConn(); Statement state=null; List<Word> words=new ArrayList<>(); ResultSet rs=null; try { state=conn.createStatement(); rs=state.executeQuery(sql); while (rs.next()) { String id=rs.getString("id"); String title1=rs.getString("title"); String year1=rs.getString("year"); String link=rs.getString("link"); String zhaiyao1=rs.getString("zhaiyao"); String keywords=rs.getString("keywords"); Word word=new Word(id, title1, year1, link, zhaiyao1, keywords); words.add(word); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } return words; } }
(3)WordServlet
package Servlet; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import Bean.Word; import Dao.Dao; /** * Servlet implementation class Servlet */ @WebServlet("/WordServlet") public class WordServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * Default constructor. */ public WordServlet() { // TODO Auto-generated constructor stub } Dao dao = new Dao(); @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); String method=req.getParameter("method"); if("show".equals(method)) { show(req,resp); } if("search".equals(method)) { search(req,resp); } if("delete".equals(method)) { delete(req,resp); } if("show1".equals(method)) { show1(req,resp); } } private void show1(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub req.setCharacterEncoding("utf-8"); String num =req.getParameter("num"); if (num.equals("10")){ req.getRequestDispatcher("word_10.jsp").forward(req,resp); }else if (num.equals("5")){ req.getRequestDispatcher("word_5.jsp").forward(req,resp); }else { req.getRequestDispatcher("words.jsp").forward(req,resp); } } private void search(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub req.setCharacterEncoding("utf-8"); String title=req.getParameter("title"); String year=req.getParameter("year"); String zhaiyao=req.getParameter("zhaiyao"); String keyword=req.getParameter("keyword"); List<Word> words=dao.search1(title,year,zhaiyao,keyword); System.err.println(words+year); req.setAttribute("words", words); req.getRequestDispatcher("show.jsp").forward(req, resp); } private void delete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub req.setCharacterEncoding("utf-8"); String id=req.getParameter("id"); String keyword=req.getParameter("keyword"); Boolean b=dao.delete(id); if(b) { req.setAttribute("message", "删除成功!"); } else { req.setAttribute("message", "删除失败!"); } List<Word> words=dao.show(keyword); req.setAttribute("words", words); req.getRequestDispatcher("show.jsp").forward(req, resp); } private void show(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub req.setCharacterEncoding("utf-8"); String keyword=req.getParameter("keyword"); List<Word> words=dao.show(keyword); req.setAttribute("words", words); req.getRequestDispatcher("show.jsp").forward(req, resp); } }
(4)DBUtil
package Util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class DBUtil { public static String db_url = "jdbc:mysql://localhost:3306/words?useSSL=false"; public static String db_user = "root"; public static String db_pass = "001206"; public static Connection getConn () { Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(db_url, db_user, db_pass); } catch (Exception e) { e.printStackTrace(); } return conn; } /** * �ر����� * @param state * @param conn */ public static void close (Statement state, Connection conn) { if (state != null) { try { state.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } public static void close (ResultSet rs, Statement state, Connection conn) { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (state != null) { try { state.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
(5)main.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>首页</title> </head> <style> a:link{ color:blue; } a:visited{ color:blue; } a:hover{ color:red; } a{ font-size:22px; font-family:"楷体"; font-weight:2px; } h1{ color:red; font-size:44px; } </style> <body> <h1 align="center">论文基本信息操作</h1> <a href="WordServlet?method=show"><h2 align="center">浏览论文基本信息</h2></a> <a href="words.jsp"><h2 align="center">浏览热词基本信息</h2></a> </body> </html>
(6)show.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>显示论文信息页面</title> </head> <style> a:link{ color:blue; } a:visited{ color:blue; } a:hover{ color:red; } a{ font-size:22px; font-family:"楷体"; font-weight:2px; } h1{ color:red; font-size:44px; } table{ table-layout:fixed; 100%; } td { white-space:nowrap;/*文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。*/ overflow:hidden;/*隐藏多余的内容*/ -moz-text-overflow: ellipsis; /* for Firefox,mozilla */ } </style> <body> <% Object message=request.getAttribute("message"); if(message!=null&&!"".equals(message)){%> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); request.setAttribute(message,""); </script> <% }%> <div align="center"> <h1 style="color: red;" align="center"> 所有论文基本信息列表</h1> <a href="WordServlet?method=show"><h2 align="center">浏览论文基本信息</h2></a> <a href="words.jsp"><h2 align="center">浏览热词基本信息</h2></a> <form action="WordServlet?method=search" method="post"> <h3> 标题<input type="text" name="title" id="title"> 年份<input type="text" name="year" id="year"> 摘要<input type="text" name="zhaiyao" id="zhaiyao"> 关键字<input type="text" name="keyword" id="keyword"> <input type="submit" value="搜索"> <input type="reset" value="重置"> </h3> </form> <table border="1px" cellspacing="0" cellpadding="4px"> <tr height="35px"> <td><h3 style="color: yellow; 5%">编号</h3></td> <td><h3 style="color: yellow; 20%">标题</h3></td> <td><h3 style="color: yellow; 5%">年份</h3></td> <td><h3 style="color: yellow; 30%">链接</h3></td> <td><h3 style="color: yellow; 20%">摘要</h3></td> <td><h3 style="color: yellow; 10%">关键字</h3></td> <td><h3 style="color: yellow; 10%">操作</h3></td> </tr> <tr height="35px"> <c:forEach items="${words}" var="item" > <td style="5%">${item.id}</td> <td style="20%">${item.title}</td> <td style="5%">${item.year}</td> <td style="30%"><a href=${item.link}>${item.link}</a></td> <td style="20%">${item.zhaiyao}</td> <td style="10%">${item.keywords}</td> <td style="10%"><a href="WordServlet?method=delete&id=${item.id}" onclick="return firm();">删除</a></td> </tr> </c:forEach> </table> </div> </body> </html>
(7)word_10.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>查询</title> <link href="css/bootstrap.min.css" rel="stylesheet"> <script src="js/jquery-3.1.1.min.js"></script> <script src="js/bootstrap.min.js"></script> <script src="js/echarts-cloud.js"></script> <script src="js/echarts.min.js"></script> <script type="text/javascript" src="https://assets.pyecharts.org/assets/echarts.min.js"></script> <script type="text/javascript" src="https://assets.pyecharts.org/assets/echarts-wordcloud.min.js"></script> </head> <body> <style> table{ table-layout:fixed; 100%; } td { white-space:nowrap;/*文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。*/ overflow:hidden;/*隐藏多余的内容*/ -moz-text-overflow: ellipsis; /* for Firefox,mozilla */ } a:link{ color:blue; } a:visited{ color:blue; } a:hover{ color:red; } a{ font-size:22px; font-family:"楷体"; font-weight:2px; } h1{ color:red; font-size:44px; } </style> <div class="container-fluid"> <div class="row"> <div class="col-md-3"> <div class="list-group"> <a href="WordServlet?method=show"><h2 align="center">浏览论文基本信息</h2></a> <a href="words.jsp"><h2 align="center">浏览热词基本信息</h2></a> </div> </div> <div class="col-md-9"> <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title">热词分析 <i class="fa fa-book pull-right" aria-hidden="true"></i></h3> </div> <div class="panel-body"> <div class="panel-body"> <form action="WordServlet?method=show1" method="post"> <div class="input-group"> <input type="text" class="form-control" placeholder="您要搜索的TOP" name="num"/> </div><!-- /input-group --> <span class="input-group-btn"> <button class="btn btn-primary" type="submit" >搜索</button> </span> </form> </div> </span> </div> <div id="cy" style=" 800px; height: 600px;"> </div> <div id="tu" style=" 800px; height: 600px;"></div> </div> </div> <table align="center" border="2"> <tr> <td align="center"> <h2> <a>热词:</a> </h2> </td> <td align="center"> <h2> <a>数量:</a> </h2> </td> </tr> <tr> <td align="center"> <h2> <a>image:</a> </h2> </td> <td align="center"> <h2> <a>421:</a> </h2> </td> </tr> <tr align="center"> <td align="center"> <h2> <a>network:</a> </h2> </td> <td> <h2> <a>293:</a> </h2> </td> </tr> <tr align="center"> <td align="center"> <h2> <a>learn:</a> </h2> </td> <td align="center"> <h2> <a>272:</a> </h2> </td> </tr> <tr> <td align="center"> <h2> <a>model:</a> </h2> </td> <td align="center"> <h2> <a>236:</a> </h2> </td> </tr> <tr> <td align="center"> <h2> <a>method:</a> </h2> </td> <td align="center"> <h2> <a>223:</a> </h2> </td> </tr> <tr> <td align="center"> <h2> <a>ject:</a> </h2> </td> <td align="center"> <h2> <a>169:</a> </h2> </td> </tr> <tr> <td align="center"> <h2> <a>use:</a> </h2> </td> <td align="center"> <h2> <a>162:</a> </h2> </td> </tr> <tr> <td align="center"> <h2> <a>data:</a> </h2> </td> <td align="center"> <h2> <a>161:</a> </h2> </td> </tr> <tr> <td align="center"> <h2> <a>propose:</a> </h2> </td> <td align="center"> <h2> <a>160:</a> </h2> </td> </tr> <tr> <td align="center"> <h2> <a>base:</a> </h2> </td> <td align="center"> <h2> <a>159:</a> </h2> </td> </tr> </table> </div> </div> </div> <script> var chart_a38671828dc24de39da3248d8e1eabd8 = echarts.init( document.getElementById('cy'), 'white', {renderer: 'canvas'}); var option_a38671828dc24de39da3248d8e1eabd8 = { "animation": true, "animationThreshold": 2000, "animationDuration": 1000, "animationEasing": "cubicOut", "animationDelay": 0, "animationDurationUpdate": 300, "animationEasingUpdate": "cubicOut", "animationDelayUpdate": 0, "color": [ "#c23531", "#2f4554", "#61a0a8", "#d48265", "#749f83", "#ca8622", "#bda29a", "#6e7074", "#546570", "#c4ccd3", "#f05b72", "#ef5b9c", "#f47920", "#905a3d", "#fab27b", "#2a5caa", "#444693", "#726930", "#b2d235", "#6d8346", "#ac6767", "#1d953f", "#6950a1", "#918597" ], "series": [ { "type": "wordCloud", "shape": "diamond", "rotationRange": [ 0, 0 ], "rotationStep": 45, "girdSize": 20, "sizeRange": [ 20, 100 ], "data": [ { "name": "image", "value": 428, "textStyle": { "normal": { "color": "rgb(98,52,124)" } } }, { "name": "network", "value": 293, "textStyle": { "normal": { "color": "rgb(73,70,71)" } } }, { "name": "learn", "value": 273, "textStyle": { "normal": { "color": "rgb(77,17,53)" } } }, { "name": "model", "value": 236, "textStyle": { "normal": { "color": "rgb(143,99,105)" } } }, { "name": "method", "value": 223, "textStyle": { "normal": { "color": "rgb(94,46,113)" } } }, { "name": "ject", "value": 169, "textStyle": { "normal": { "color": "rgb(101,90,2)" } } }, { "name": "use", "value": 162, "textStyle": { "normal": { "color": "rgb(101,86,32)" } } }, { "name": "data", "value": 161, "textStyle": { "normal": { "color": "rgb(31,61,5)" } } }, { "name": "propose", "value": 160, "textStyle": { "normal": { "color": "rgb(87,89,121)" } } }, { "name": "base", "value": 144, "textStyle": { "normal": { "color": "rgb(113,86,92)" } } } ], "drawOutOfBound": false, "textStyle": { "emphasis": {} } } ], "legend": [ { "data": [], "selected": {}, "show": true, "padding": 5, "itemGap": 10, "itemWidth": 25, "itemHeight": 14 } ], "tooltip": { "show": true, "trigger": "item", "triggerOn": "mousemove|click", "axisPointer": { "type": "line" }, "showContent": true, "alwaysShowContent": false, "showDelay": 0, "hideDelay": 100, "textStyle": { "fontSize": 14 }, "borderWidth": 0, "padding": 5 }, "title": [ { "text": "u8bcdu4e91u56fe", "padding": 5, "itemGap": 10 } ] }; chart_a38671828dc24de39da3248d8e1eabd8.setOption(option_a38671828dc24de39da3248d8e1eabd8); </script> </body> </html>
(8)word_5.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>查询</title> <link href="css/bootstrap.min.css" rel="stylesheet"> <script src="js/jquery-3.1.1.min.js"></script> <script src="js/bootstrap.min.js"></script> <script src="js/echarts-cloud.js"></script> <script src="js/echarts.min.js"></script> <script type="text/javascript" src="https://assets.pyecharts.org/assets/echarts.min.js"></script> <script type="text/javascript" src="https://assets.pyecharts.org/assets/echarts-wordcloud.min.js"></script> </head> <body> <style> table{ table-layout:fixed; 100%; } td { white-space:nowrap;/*文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。*/ overflow:hidden;/*隐藏多余的内容*/ -moz-text-overflow: ellipsis; /* for Firefox,mozilla */ } a:link{ color:blue; } a:visited{ color:blue; } a:hover{ color:red; } a{ font-size:22px; font-family:"楷体"; font-weight:2px; } h1{ color:red; font-size:44px; } </style> <div class="container-fluid"> <div class="row"> <div class="col-md-3"> <div class="list-group"> <a href="WordServlet?method=show"><h2 align="center">浏览论文基本信息</h2></a> <a href="words.jsp"><h2 align="center">浏览热词基本信息</h2></a> </div> </div> <div class="col-md-9"> <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title">热词分析 <i class="fa fa-book pull-right" aria-hidden="true"></i></h3> </div> <div class="panel-body"> <div class="panel-body"> <form action="WordServlet?method=show1" method="post"> <div class="input-group"> <input type="text" class="form-control" placeholder="您要搜索的TOP" name="num"/> </div><!-- /input-group --> <span class="input-group-btn"> <button class="btn btn-primary" type="submit" >搜索</button> </span> </form> </div> </span> </div> <div id="cy" style=" 800px; height: 600px;"> </div> <div id="tu" style=" 800px; height: 600px;"></div> </div> </div> <table align="center" border="2"> <tr> <td align="center"> <h2> <a>热词:</a> </h2> </td> <td align="center"> <h2> <a>数量:</a> </h2> </td> </tr> <tr> <td align="center"> <h2> <a>image:</a> </h2> </td> <td align="center"> <h2> <a>421:</a> </h2> </td> </tr> <tr> <td align="center"> <h2> <a>network:</a> </h2> </td> <td align="center"> <h2> <a>293:</a> </h2> </td> </tr> <tr> <td align="center"> <h2> <a>learn:</a> </h2> </td> <td align="center"> <h2> <a>272:</a> </h2> </td> </tr> <tr> <td align="center"> <h2> <a>model:</a> </h2> </td> <td align="center"> <h2> <a>236:</a> </h2> </td> </tr> <tr> <td align="center"> <h2> <a>method:</a> </h2> </td> <td align="center"> <h2> <a>223:</a> </h2> </td> </tr> </table> </div> </div> </div> </body> <script> var chart_989fe02908e64618a085e023db0f2239 = echarts.init( document.getElementById('cy'), 'white', {renderer: 'canvas'}); var option_989fe02908e64618a085e023db0f2239 = { "animation": true, "animationThreshold": 2000, "animationDuration": 1000, "animationEasing": "cubicOut", "animationDelay": 0, "animationDurationUpdate": 300, "animationEasingUpdate": "cubicOut", "animationDelayUpdate": 0, "color": [ "#c23531", "#2f4554", "#61a0a8", "#d48265", "#749f83", "#ca8622", "#bda29a", "#6e7074", "#546570", "#c4ccd3", "#f05b72", "#ef5b9c", "#f47920", "#905a3d", "#fab27b", "#2a5caa", "#444693", "#726930", "#b2d235", "#6d8346", "#ac6767", "#1d953f", "#6950a1", "#918597" ], "series": [ { "type": "wordCloud", "shape": "diamond", "rotationRange": [ 0, 0 ], "rotationStep": 45, "girdSize": 20, "sizeRange": [ 20, 100 ], "data": [ { "name": "image", "value": 428, "textStyle": { "normal": { "color": "rgb(133,84,9)" } } }, { "name": "network", "value": 293, "textStyle": { "normal": { "color": "rgb(113,145,61)" } } }, { "name": "learn", "value": 273, "textStyle": { "normal": { "color": "rgb(59,150,31)" } } }, { "name": "model", "value": 236, "textStyle": { "normal": { "color": "rgb(25,148,6)" } } }, { "name": "method", "value": 223, "textStyle": { "normal": { "color": "rgb(50,3,66)" } } } ], "drawOutOfBound": false, "textStyle": { "emphasis": {} } } ], "legend": [ { "data": [], "selected": {}, "show": true, "padding": 5, "itemGap": 10, "itemWidth": 25, "itemHeight": 14 } ], "tooltip": { "show": true, "trigger": "item", "triggerOn": "mousemove|click", "axisPointer": { "type": "line" }, "showContent": true, "alwaysShowContent": false, "showDelay": 0, "hideDelay": 100, "textStyle": { "fontSize": 14 }, "borderWidth": 0, "padding": 5 }, "title": [ { "text": "u8bcdu4e91u56fe", "padding": 5, "itemGap": 10 } ] }; chart_989fe02908e64618a085e023db0f2239.setOption(option_989fe02908e64618a085e023db0f2239); </script> </html>
(9)words.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>查询</title> <link href="css/bootstrap.min.css" rel="stylesheet"> <script src="js/jquery-3.1.1.min.js"></script> <script src="js/bootstrap.min.js"></script> <script src="js/echarts-cloud.js"></script> <script src="js/echarts.min.js"></script> <script type="text/javascript" src="https://assets.pyecharts.org/assets/echarts.min.js"></script> <script type="text/javascript" src="https://assets.pyecharts.org/assets/echarts-wordcloud.min.js"></script> </head> <body> <style> table{ table-layout:fixed; 100%; } td { white-space:nowrap;/*文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。*/ overflow:hidden;/*隐藏多余的内容*/ -moz-text-overflow: ellipsis; /* for Firefox,mozilla */ } a:link{ color:blue; } a:visited{ color:blue; } a:hover{ color:red; } a{ font-size:22px; font-family:"楷体"; font-weight:2px; } h1{ color:red; font-size:44px; } </style> <div class="container-fluid"> <div class="row"> <div class="col-md-3"> <div class="list-group"> <a href="WordServlet?method=show"><h2 align="center">浏览论文基本信息</h2></a> <a href="words.jsp"><h2 align="center">浏览热词基本信息</h2></a> </div> </div> <div class="col-md-9"> <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title">热词分析 <i class="fa fa-book pull-right" aria-hidden="true"></i></h3> </div> <div class="panel-body"> <div class="panel-body"> <form action="WordServlet?method=show1" method="post"> <div class="input-group"> <input type="text" class="form-control" placeholder="您要搜索的TOP" name="num"/> </div><!-- /input-group --> <span class="input-group-btn"> <button class="btn btn-primary" type="submit" >搜索</button> </span> </form> </div> </span> </div> <div id="cy" style=" 800px; height: 600px;"> </div> </div> </div> </div> </div> </div> </body> <script> var chart_5873da6363c341599e67e661d39df3e9 = echarts.init( document.getElementById('cy'), 'white', {renderer: 'canvas'}); var option_5873da6363c341599e67e661d39df3e9 = { "animation": true, "animationThreshold": 2000, "animationDuration": 1000, "animationEasing": "cubicOut", "animationDelay": 0, "animationDurationUpdate": 300, "animationEasingUpdate": "cubicOut", "animationDelayUpdate": 0, "color": [ "#c23531", "#2f4554", "#61a0a8", "#d48265", "#749f83", "#ca8622", "#bda29a", "#6e7074", "#546570", "#c4ccd3", "#f05b72", "#ef5b9c", "#f47920", "#905a3d", "#fab27b", "#2a5caa", "#444693", "#726930", "#b2d235", "#6d8346", "#ac6767", "#1d953f", "#6950a1", "#918597" ], "series": [ { "type": "wordCloud", "shape": "diamond", "rotationRange": [ 0, 0 ], "rotationStep": 45, "girdSize": 20, "sizeRange": [ 20, 100 ], "data": [ { "name": "image", "value": 428, "textStyle": { "normal": { "color": "rgb(57,16,116)" } } }, { "name": "network", "value": 293, "textStyle": { "normal": { "color": "rgb(29,58,16)" } } }, { "name": "learn", "value": 273, "textStyle": { "normal": { "color": "rgb(0,129,23)" } } }, { "name": "model", "value": 236, "textStyle": { "normal": { "color": "rgb(105,125,66)" } } }, { "name": "method", "value": 223, "textStyle": { "normal": { "color": "rgb(97,134,71)" } } }, { "name": "ject", "value": 169, "textStyle": { "normal": { "color": "rgb(35,109,54)" } } }, { "name": "use", "value": 162, "textStyle": { "normal": { "color": "rgb(42,114,135)" } } }, { "name": "data", "value": 161, "textStyle": { "normal": { "color": "rgb(46,60,69)" } } }, { "name": "propose", "value": 160, "textStyle": { "normal": { "color": "rgb(71,123,105)" } } }, { "name": "base", "value": 144, "textStyle": { "normal": { "color": "rgb(74,130,121)" } } }, { "name": "task", "value": 143, "textStyle": { "normal": { "color": "rgb(156,64,23)" } } }, { "name": "video", "value": 140, "textStyle": { "normal": { "color": "rgb(108,2,56)" } } }, { "name": "approach", "value": 138, "textStyle": { "normal": { "color": "rgb(117,75,148)" } } }, { "name": "deep", "value": 138, "textStyle": { "normal": { "color": "rgb(20,40,30)" } } }, { "name": "action", "value": 124, "textStyle": { "normal": { "color": "rgb(138,106,121)" } } }, { "name": "attention", "value": 121, "textStyle": { "normal": { "color": "rgb(38,92,140)" } } }, { "name": "scene", "value": 117, "textStyle": { "normal": { "color": "rgb(56,152,108)" } } }, { "name": "university", "value": 115, "textStyle": { "normal": { "color": "rgb(32,48,3)" } } }, { "name": "training", "value": 113, "textStyle": { "normal": { "color": "rgb(2,34,92)" } } }, { "name": "feature", "value": 111, "textStyle": { "normal": { "color": "rgb(80,70,132)" } } } ], "drawOutOfBound": false, "textStyle": { "emphasis": {} } } ], "legend": [ { "data": [], "selected": {}, "show": true, "padding": 5, "itemGap": 10, "itemWidth": 25, "itemHeight": 14 } ], "tooltip": { "show": true, "trigger": "item", "triggerOn": "mousemove|click", "axisPointer": { "type": "line" }, "showContent": true, "alwaysShowContent": false, "showDelay": 0, "hideDelay": 100, "textStyle": { "fontSize": 14 }, "borderWidth": 0, "padding": 5 }, "title": [ { "text": "u8bcdu4e91u56fe", "padding": 5, "itemGap": 10 } ] }; chart_5873da6363c341599e67e661d39df3e9.setOption(option_5873da6363c341599e67e661d39df3e9); </script> </html>