Python 爬取 热词并进行分类数据分析-[JSP演示+页面跳转]
日期:2020.02.03
博客期:142
星期一
【本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)】
所有相关跳转:
a.【简单准备】
b.【云图制作+数据导入】
c.【拓扑数据】
d.【数据修复】
e.【解释修复+热词引用】
f.【JSP演示+页面跳转】(本期博客)
g.【热词分类+目录生成】
h.【热词关系图+报告生成】
i . 【App制作】
j . 【安全性改造】
今天开始准备把昨天的任务补一下,再补充一下以前的博客。
1、全部热词演示页面改写
我追加了其他页的展示和页面跳转部分js内容
附加新增代码:
com.servlet 包:
- package com.servlet;
- import java.io.IOException;
- import java.sql.SQLException;
- import java.util.List;
- import javax.servlet.ServletException;
- import javax.servlet.ServletOutputStream;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.json.JSONArray;
- import org.json.JSONObject;
- import com.dblink.basic.utils.SqlUtils;
- import com.dblink.basic.utils.sqlKind.MySql_s;
- import com.dblink.basic.utils.user.UserInfo;
- import com.dblink.bean.BeanGroup;
- import com.dblink.sql.DBLink;
- @SuppressWarnings("unused")
- public class ServletForLinkData extends HttpServlet{
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- //----------------------------------------------------------------------//
- public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException
- {
- request.setCharacterEncoding("utf-8");
- response.setCharacterEncoding("utf-8");
- response.setContentType("application/json");
- response.setHeader("Cache-Control", "no-cache");
- response.setHeader("Pragma", "no-cache");
- String word = request.getParameter("word");
- JSONArray jsonArray = new JSONArray();
- JSONObject jsonObj = new JSONObject();
- DBLink dbLink = new DBLink(new SqlUtils(new MySql_s("rc"),new UserInfo("root","123456")));
- BeanGroup bg = null;
- try {
- bg = dbLink.getSelect("Select * From words where word = '"+word+"'").beans;
- int leng = bg.size();
- jsonObj.put("Length",leng);
- jsonArray.put(jsonObj);
- for(int i=0;i<leng;++i)
- {
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("word",bg.get(i).get(0));
- jsonObject.put("num",bg.get(i).get(1));
- jsonObject.put("title",bg.get(i).get(2));
- jsonObject.put("link",bg.get(i).get(3));
- jsonArray.put(jsonObject);
- }
- } catch (SQLException e) {
- // Do Nothing ...
- }
- dbLink.free();
- ServletOutputStream os = response.getOutputStream();
- os.write(jsonArray.toString().getBytes());
- os.flush();
- os.close();
- }
- //---------------------------------------------------------------------------------//
- }
ServletForLinkData.java
- package com.servlet;
- import java.io.IOException;
- import java.sql.SQLException;
- import java.util.List;
- import javax.servlet.ServletException;
- import javax.servlet.ServletOutputStream;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.json.JSONArray;
- import org.json.JSONObject;
- import com.dblink.basic.utils.SqlUtils;
- import com.dblink.basic.utils.sqlKind.MySql_s;
- import com.dblink.basic.utils.user.UserInfo;
- import com.dblink.bean.BeanGroup;
- import com.dblink.sql.DBLink;
- @SuppressWarnings("unused")
- public class ServletForAllKeyWords extends HttpServlet{
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- //----------------------------------------------------------------------//
- public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException
- {
- request.setCharacterEncoding("utf-8");
- response.setCharacterEncoding("utf-8");
- response.setContentType("application/json");
- response.setHeader("Cache-Control", "no-cache");
- response.setHeader("Pragma", "no-cache");
- String sql_rest = request.getParameter("sql");
- JSONArray jsonArray = new JSONArray();
- JSONObject jsonObj = new JSONObject();
- DBLink dbLink = new DBLink(new SqlUtils(new MySql_s("rc"),new UserInfo("root","123456")));
- BeanGroup bg = null;
- try {
- bg = dbLink.getSelect("Select * From keywords "+sql_rest).beans;
- int leng = bg.size();
- int maxSize = dbLink.getSelect("Select * From keywords ").beans.size();
- int page = maxSize%leng==0?(maxSize/30):(maxSize/30)+1;
- jsonObj.put("Length",leng);
- jsonObj.put("MaxSize",maxSize);
- jsonObj.put("Page",page);
- jsonArray.put(jsonObj);
- for(int i=0;i<leng;++i)
- {
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("word",bg.get(i).get(0));
- jsonObject.put("num",bg.get(i).get(1));
- jsonObject.put("exp",bg.get(i).get(2));
- jsonArray.put(jsonObject);
- }
- } catch (SQLException e) {
- // Do Nothing ...
- }
- dbLink.free();
- ServletOutputStream os = response.getOutputStream();
- os.write(jsonArray.toString().getBytes());
- os.flush();
- os.close();
- }
- //---------------------------------------------------------------------------------//
- }
ServletForAllKeyWords.java
web.xml 文件更改:
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
- <display-name>HotWord</display-name>
- <servlet>
- <description>This is the description of my J2EE component</description>
- <display-name>This is the display name of my J2EE component</display-name>
- <servlet-name>ServletForWords</servlet-name>
- <servlet-class>com.servlet.ServletForWords</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>ServletForWords</servlet-name>
- <url-pattern>/com/servlet/ServletForWords</url-pattern>
- </servlet-mapping>
- <servlet>
- <description>This is the description of my J2EE component</description>
- <display-name>This is the display name of my J2EE component</display-name>
- <servlet-name>ServletForAllKeyWords</servlet-name>
- <servlet-class>com.servlet.ServletForAllKeyWords</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>ServletForAllKeyWords</servlet-name>
- <url-pattern>/com/servlet/ServletForAllKeyWords</url-pattern>
- </servlet-mapping>
- <servlet>
- <description>This is the description of my J2EE component</description>
- <display-name>This is the display name of my J2EE component</display-name>
- <servlet-name>ServletForLinkData</servlet-name>
- <servlet-class>com.servlet.ServletForLinkData</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>ServletForLinkData</servlet-name>
- <url-pattern>/com/servlet/ServletForLinkData</url-pattern>
- </servlet-mapping>
- <welcome-file-list>
- <welcome-file>index.html</welcome-file>
- <welcome-file>index.htm</welcome-file>
- <welcome-file>index.jsp</welcome-file>
- <welcome-file>default.html</welcome-file>
- <welcome-file>default.htm</welcome-file>
- <welcome-file>default.jsp</welcome-file>
- </welcome-file-list>
- </web-app>
web.xml
jsFiles/word.js 文件
- var wordPage = 1;
- function makePageToWord()
- {
- var Area = '';
- Area += '<div class="row">';
- Area += '<div class="col-md-12">';
- Area += '<h2>全部热词</h2>';
- Area += '</div>';
- Area += '</div>';
- Area += '<hr />';
- Area += '<br>';
- Area += '<div style="background:rgb(0,153,255);margin-left:20px;margin-right:20px;height:25px;">';
- Area += ' <div style="margin-left:10px;margin-right:10px;margin-top:5px;margin-bottom:5px;">';
- Area += ' <b style="float:left;">热词表</b>';
- Area += ' <div style="float:right;">';
- Area += ' <select id="sty" onchange="simpleReset()">';
- Area += ' <option value="0" selected>按照词频顺序</option>';
- Area += ' <option value="1">按照字母表顺序</option>';
- Area += ' </select>';
- Area += ' ';
- Area += ' <select id="order" onchange="simpleReset()">';
- Area += ' <option value="0" selected>降序</option>';
- Area += ' <option value="1">增序</option>';
- Area += ' </select>';
- Area += ' ';
- Area += ' </div>';
- Area += ' </div>';
- Area += '</div>';
- Area += '<br>';
- Area += '<br>';
- Area += '<div id="MessageArea">';
- Area += '</div>';
- document.getElementById("page-inner").innerHTML = Area;
- simpleReset();
- }
- function simpleReset()
- {
- wordPage = 1;
- resetAndFresh();
- }
- function XReset(p)
- {
- wordPage = p;
- wordPage = parseInt(""+wordPage);
- resetAndFresh();
- }
- function resetAndFresh()
- {
- var sty = document.getElementById("sty").value;
- var order = document.getElementById("order").value;
- var xmlHttp = null;
- try{
- xmlHttp = new XMLHttpRequest();
- } catch (e1) {
- try {
- xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
- } catch (e2) {
- alert("Your browser does not support XMLHTTP!");
- return;
- }
- }
- xmlHttp.onreadystatechange = function() {
- if (xmlHttp.readyState == 4) {
- if (xmlHttp.status == 200)
- {
- var Area = "";
- s = xmlHttp.responseText;
- var InformationSet = eval('('+s+')');
- var leng = InformationSet[0].Length;
- var max = InformationSet[0].MaxSize;
- var pageNum = InformationSet[0].Page;
- Area += "<table class='WhatATable' style='margin-left:200px;float:left;'>";
- Area += "<tr>";
- Area += "<th style='width:100px;'>热词</th>";
- Area += "<th style='width:100px;'>词频</th>";
- Area += "<th style='width:100px;'>详细信息链接</th>";
- Area += "</tr>";
- if(leng<10)
- {
- for (var i=1;i<=leng;++i)
- {
- Area += "<tr>";
- Area += " <td>";
- Area += InformationSet[i].word;
- Area += " </td>";
- Area += " <td>";
- Area += InformationSet[i].num;
- Area += " </td>";
- Area += " <td>";
- Area += " <a href='#' onclick='toSomeWhere(\""+InformationSet[i].word+"\")'>详细信息</a>";
- Area += " </td>";
- Area += "</tr>";
- }
- }
- else
- {
- for (var i=1;i<=10;++i)
- {
- Area += "<tr>";
- Area += " <td>";
- Area += InformationSet[i].word;
- Area += " </td>";
- Area += " <td>";
- Area += InformationSet[i].num;
- Area += " </td>";
- Area += " <td>";
- Area += " <a href='#' onclick='toSomeWhere(\""+InformationSet[i].word+"\")'>详细信息</a>";
- Area += " </td>";
- Area += "</tr>";
- }
- }
- Area += "</table>";
- if(leng>10)
- {
- Area += "<table class='WhatATable' style='margin-left:10px;float:left;'>";
- Area += "<tr>";
- Area += "<th style='width:100px;'>热词</th>";
- Area += "<th style='width:100px;'>词频</th>";
- Area += "<th style='width:100px;'>详细信息链接</th>";
- Area += "</tr>";
- if(leng<=20)
- {
- for (var i=11;i<=leng;++i)
- {
- Area += "<tr>";
- Area += " <td>";
- Area += InformationSet[i].word;
- Area += " </td>";
- Area += " <td>";
- Area += InformationSet[i].num;
- Area += " </td>";
- Area += " <td>";
- Area += " <a href='#' onclick='toSomeWhere(\""+InformationSet[i].word+"\")'>详细信息</a>";
- Area += " </td>";
- Area += "</tr>";
- }
- }
- else
- {
- for (var i=11;i<=20;++i)
- {
- Area += "<tr>";
- Area += " <td>";
- Area += InformationSet[i].word;
- Area += " </td>";
- Area += " <td>";
- Area += InformationSet[i].num;
- Area += " </td>";
- Area += " <td>";
- Area += " <a href='#' onclick='toSomeWhere(\""+InformationSet[i].word+"\")'>详细信息</a>";
- Area += " </td>";
- Area += "</tr>";
- }
- }
- Area += "</table>";
- }
- if(leng>20)
- {
- Area += "<table class='WhatATable' style='margin-left:10px;float:left;'>";
- Area += "<tr>";
- Area += "<th style='width:100px;'>热词</th>";
- Area += "<th style='width:100px;'>词频</th>";
- Area += "<th style='width:100px;'>详细信息链接</th>";
- Area += "</tr>";
- for (var i=21;i<=leng;++i)
- {
- Area += "<tr>";
- Area += " <td>";
- Area += InformationSet[i].word;
- Area += " </td>";
- Area += " <td>";
- Area += InformationSet[i].num;
- Area += " </td>";
- Area += " <td>";
- Area += " <a href='#' onclick='toSomeWhere(\""+InformationSet[i].word+"\")'>详细信息</a>";
- Area += " </td>";
- Area += "</tr>";
- }
- Area += "</table>";
- }
- Area += "<div style='clear:both;'></div>";
- Area += "<br>";
- Area += "<br>";
- Area += "<br>";
- Area += "<br>";
- Area += "<p style='margin-left:30px;margin-right:30px;'>";
- Area += " <button onclick='simpleReset()'>起始页</button> ";
- var start = ((wordPage-4)>=1)?wordPage-4:1;
- var end = ((wordPage+4)<=pageNum)?(wordPage+4):pageNum;
- //alert(parseInt(wordPage+4+""));
- if(start!=1)
- {
- Area += " ... ";
- }
- for(var i=start;i<=end;++i)
- {
- Area += " <button onclick='XReset("+i+")'>"+i+"</button> ";
- }
- if(end!=pageNum)
- {
- Area += " ... ";
- }
- Area += " <button onclick='XReset("+pageNum+")'>结束页</button> ";
- Area += " <b>选择页数跳转</b> ";
- Area += "<select id='selPage' onchange='makeSurePage()'>";
- for(var i=1;i<=pageNum;++i)
- {
- Area += "<option value='"+i+"'>"+i+"</option>";
- }
- Area += "</select>";
- Area += "</p>";
- document.getElementById("MessageArea").innerHTML = Area;
- surePage();
- }
- }
- };
- var url ="../com/servlet/ServletForAllKeyWords";
- var server = "sql=";
- // 按照词频顺序
- if(sty==0)
- {
- server += " order by num ";
- }
- // 按照字母表顺序
- else if(sty==1)
- {
- server += " order by word ";
- }
- // 如果是降序
- if(order==0)
- {
- server += " DESC ";
- }
- server += (" Limit "+((wordPage-1)*30)+",30 ");
- xmlHttp.open("POST", url, true);
- xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
- xmlHttp.send(server);
- }
- function toSomeWhere(word)
- {
- var Area = '';
- Area += '<div class="row">';
- Area += ' <div class="col-md-12">';
- Area += ' <h2>'+word+'</h2>';
- Area += ' </div>';
- Area += '</div>';
- Area += '<hr />';
- Area += '<br>';
- Area += '<div id="MessageArea">';
- Area += '</div>';
- document.getElementById("page-inner").innerHTML = Area;
- var xmlHttp = null;
- try{
- xmlHttp = new XMLHttpRequest();
- } catch (e1) {
- try {
- xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
- } catch (e2) {
- alert("Your browser does not support XMLHTTP!");
- return;
- }
- }
- xmlHttp.onreadystatechange = function() {
- if (xmlHttp.readyState == 4) {
- if (xmlHttp.status == 200)
- {
- var Area = "";
- s = xmlHttp.responseText;
- var InformationSet = eval('('+s+')');
- var word = InformationSet[1].word;
- var num = InformationSet[1].num;
- var exp = InformationSet[1].exp;
- Area += "<p><b id='word' style='font-size:120%;'>"+word+"</b></p>";
- Area += "<p>引用次数:"+num+"</p>"
- Area += "<p style='font:\"楷体\";font-size:90%;'> ";
- if(exp=="")
- {
- Area += "目前百度百科上并没有相关解释信息...";
- }
- else
- {
- Area += exp;
- }
- Area += "</p>";
- Area += "<br>";
- Area += "<div id='finalDIV'></div>"
- document.getElementById("MessageArea").innerHTML = Area;
- getLinksForKey(word);
- }
- }
- };
- var url ="../com/servlet/ServletForAllKeyWords";
- var server = "sql= where word='"+word+"'";
- xmlHttp.open("POST", url, true);
- xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
- xmlHttp.send(server);
- }
- function getLinksForKey(word)
- {
- var xmlHttp = null;
- try{
- xmlHttp = new XMLHttpRequest();
- } catch (e1) {
- try {
- xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
- } catch (e2) {
- alert("Your browser does not support XMLHTTP!");
- return;
- }
- }
- xmlHttp.onreadystatechange = function() {
- if (xmlHttp.readyState == 4) {
- if (xmlHttp.status == 200)
- {
- var Area = "";
- Area += "<br>";
- Area += "<br>";
- Area += "<b style='font-size:120%;'>引用网页:</b>";
- Area += "<br>";
- Area += "<br>";
- s = xmlHttp.responseText;
- var InformationSet = eval('('+s+')');
- var leng = InformationSet[0].Length;
- for(var i=1;i<=leng;++i)
- {
- var word = InformationSet[i].word;
- var num = InformationSet[i].num;
- var title = InformationSet[i].title;
- var link = InformationSet[i].link;
- Area += "<p>";
- Area += "<a href='"+link+"' title='引用次数:"+num+"'>"+title+"</a>"
- Area += "</p>";
- }
- document.getElementById("finalDIV").innerHTML = Area;
- }
- }
- };
- var url ="../com/servlet/ServletForLinkData";
- var server = "word="+word;
- xmlHttp.open("POST", url, true);
- xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
- xmlHttp.send(server);
- }
- function surePage()
- {
- document.getElementById("selPage").selectedIndex = wordPage-1;
- }
- function makeSurePage()
- {
- wordPage = document.getElementById("selPage").value;
- wordPage = parseInt(""+wordPage);
- resetAndFresh();
- }
word.js
这个页面跳转是自己写的,自己慢慢调 Bug 调了很久,最后所有页面的跳转都能实现了,我才开始写博客。
2、热词展示页面改写
之后我将热词展示页面稍稍改写了一下,要比昨天的好看,呃~其实就是加了一点CSS修饰,无关紧要的。
对应修改的 word.js 文件里的 function :
- function getLinksForKey(word)
- {
- var xmlHttp = null;
- try{
- xmlHttp = new XMLHttpRequest();
- } catch (e1) {
- try {
- xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
- } catch (e2) {
- alert("Your browser does not support XMLHTTP!");
- return;
- }
- }
- xmlHttp.onreadystatechange = function() {
- if (xmlHttp.readyState == 4) {
- if (xmlHttp.status == 200)
- {
- var Area = "";
- Area += "<br>";
- Area += "<br>";
- Area += "<b style='font-size:120%;'>引用网页:</b>";
- Area += "<br>";
- Area += "<br>";
- Area += "<ul>";
- s = xmlHttp.responseText;
- var InformationSet = eval('('+s+')');
- var leng = InformationSet[0].Length;
- for(var i=1;i<=leng;++i)
- {
- var word = InformationSet[i].word;
- var num = InformationSet[i].num;
- var title = InformationSet[i].title;
- var link = InformationSet[i].link;
- Area += "<li>";
- Area += "<a href='"+link+"' title='引用次数:"+num+"'>"+title+"</a>"
- Area += "</li>";
- }
- Area += "</ul>";
- document.getElementById("finalDIV").innerHTML = Area;
- }
- }
- };
- var url ="../com/servlet/ServletForLinkData";
- var server = "word="+word;
- xmlHttp.open("POST", url, true);
- xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
- xmlHttp.send(server);
- }
- function toSomeWhere(word)
- {
- var Area = '';
- Area += '<div class="row">';
- Area += ' <div class="col-md-12">';
- Area += ' <h2>'+word+'</h2>';
- Area += ' </div>';
- Area += '</div>';
- Area += '<hr />';
- Area += '<br>';
- Area += '<div id="MessageArea">';
- Area += '</div>';
- document.getElementById("page-inner").innerHTML = Area;
- var xmlHttp = null;
- try{
- xmlHttp = new XMLHttpRequest();
- } catch (e1) {
- try {
- xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
- } catch (e2) {
- alert("Your browser does not support XMLHTTP!");
- return;
- }
- }
- xmlHttp.onreadystatechange = function() {
- if (xmlHttp.readyState == 4) {
- if (xmlHttp.status == 200)
- {
- var Area = "";
- s = xmlHttp.responseText;
- var InformationSet = eval('('+s+')');
- var word = InformationSet[1].word;
- var num = InformationSet[1].num;
- var exp = InformationSet[1].exp;
- Area += "<p><b id='word' style='font-size:120%;'>"+word+"</b></p>";
- Area += "<p style='color:rgb(200,200,200);'> 引用次数:"+num+"</p>"
- Area += "<p style='font:\"楷体\";font-size:90%;'> ";
- if(exp=="")
- {
- Area += "目前百度百科上并没有相关解释信息...";
- }
- else
- {
- Area += exp;
- }
- Area += "</p>";
- Area += "<br>";
- Area += "<div id='finalDIV'></div>"
- document.getElementById("MessageArea").innerHTML = Area;
- getLinksForKey(word);
- }
- }
- };
- var url ="../com/servlet/ServletForAllKeyWords";
- var server = "sql= where word='"+word+"'";
- xmlHttp.open("POST", url, true);
- xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
- xmlHttp.send(server);
- }
页面还可以,说的过去...反正最终应该不会提交这个Java Web网页。
Python 爬取 热词并进行分类数据分析-[JSP演示+页面跳转]的更多相关文章
- Python 爬取 热词并进行分类数据分析-[云图制作+数据导入]
日期:2020.01.28 博客期:136 星期二 [本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)] 所有相关跳转: a.[简单准备] b.[云图制作+数据导入](本期博客) ...
- Python 爬取 热词并进行分类数据分析-[简单准备] (2020年寒假小目标05)
日期:2020.01.27 博客期:135 星期一 [本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)] 所有相关跳转: a.[简单准备](本期博客) b.[云图制作+数据导入] ...
- Python 爬取 热词并进行分类数据分析-[数据修复]
日期:2020.02.01 博客期:140 星期六 [本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)] 所有相关跳转: a.[简单准备] b.[云图制作+数据导入] c.[拓扑 ...
- Python 爬取 热词并进行分类数据分析-[解释修复+热词引用]
日期:2020.02.02 博客期:141 星期日 [本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)] 所有相关跳转: a.[简单准备] b.[云图制作+数据导入] c.[拓扑 ...
- Python 爬取 热词并进行分类数据分析-[热词分类+目录生成]
日期:2020.02.04 博客期:143 星期二 [本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)] 所有相关跳转: a.[简单准备] b.[云图制作+数据导入] c.[ ...
- Python 爬取 热词并进行分类数据分析-[拓扑数据]
日期:2020.01.29 博客期:137 星期三 [本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)] 所有相关跳转: a.[简单准备] b.[云图制作+数据导入] c.[拓扑 ...
- Python 爬取 热词并进行分类数据分析-[App制作]
日期:2020.02.14 博客期:154 星期五 [本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)] 所有相关跳转: a.[简单准备] b.[云图制作+数据导入] c.[拓扑 ...
- Python 爬取 热词并进行分类数据分析-[热词关系图+报告生成]
日期:2020.02.05 博客期:144 星期三 [本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)] 所有相关跳转: a.[简单准备] b.[云图制作+数据导入] c.[拓扑 ...
- Python爬取热搜存入数据库并且还能定时发送邮件!!!
一.前言 微博热搜榜每天都会更新一些新鲜事,但是自己处于各种原因,肯定不能时刻关注着微博,为了与时代接轨,接受最新资讯,就寻思着用Python写个定时爬取微博热搜的并且发送QQ邮件的程序,这样每天可以 ...
随机推荐
- WIN10 设置WEB
Web服务器搭建步骤(Win10) 1.在“开始”菜单处打开“控制面板”. 2点击“程序”. 3.点击“启动或关闭Windows功能”. 4.对“Internet Information Servic ...
- C语言特点有哪些?
C语言的特点 : 1.简洁紧凑.灵活方便 C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示.它把高级语言的基本结构和语句与低级语言的实用性结合起来. C 语言可以象汇编语言一 ...
- 「CSP-S模拟赛」2019第二场
目录 T1 Jam的计数法 题目 考场思路(正解) T2 「TJOI / HEOI2016」排序 题目 考场思路(假正解) 正解 T3 「THUWC 2017」随机二分图 题目 考场思路 正解 这场考 ...
- opencv python:图像直方图 histogram
直接用matplotlib画出直方图 def plot_demo(image): plt.hist(image.ravel(), 256, [0, 256]) # image.ravel()将图像展开 ...
- 数据分析--excel
excel 的使用 1.excel基础 1.数据类型 数字类型 字符类型 注意: 1.普通文本:默认作对齐,左上方没有小绿点,数字默认又对齐 2.数字存储为文本类型,美容默认为左对齐,左上方有小绿点 ...
- Fedora以root用户自动登陆
目录 Fedora以root用户自动登陆 参考 配置自动登陆 Fedora以root用户自动登陆 Fedora Workstation Version: 31
- 1143. Longest Common Subsequence
link to problem Description: Given two strings text1 and text2, return the length of their longest c ...
- 例题3_2 WERTYU(UVa10082)
把手放在键盘上时,稍不注意就会往右错一位.这样,输入Q会变成W,输入J会变成K等.键盘如下图所示: 输入一个错位后敲出的字符串(所有字母均大写),输出打字员本来想打出的句子.输入保证合法,即一定是错位 ...
- POJ-2891 Strange Way to Express Integers(拓展中国剩余定理)
放一个写的不错的博客:https://www.cnblogs.com/zwfymqz/p/8425731.html POJ好像不能用__int128. #include <iostream> ...
- 增加phpmyadmin导入文件上限
一.修改php配置 修改php配置文件,php.ini upload_max_filesize = 100M post_max_size = 100M 一般修改这2个就行了,然后重启wampserve ...