基于之前2篇Java数据采集入库,做了下功能整合,实现本地的存读取,上个效果图:
直接上代码吧,本程序只是作为"如何用JAVA抓取页面简单采集入库"的入门,在实际做采集工具的时候,还需考虑许多东西,比如当采集一个页面发生卡顿时,发生延迟时怎么办?等一系列的问题,希望这篇文字能够抛砖引玉。
先看下项目结构:
一共有五个类:
Mysql.java --数据库操作类
RegEX.java --正则匹配类
GetAllData.java --采集类
Action.java --功能实现类
FootBallMain.java --主程序类
其他的,直接结合前面2篇文章外加看代码注释吧
Mysql.java
1 packagecom.lcw.curl;2
3
4 importjava.sql.Connection;5 importjava.sql.DriverManager;6 importjava.sql.ResultSet;7 importjava.sql.SQLException;8 importjava.sql.Statement;9
10
11 /**
12 * 数据库操作类,一更新,一查询13 *@authorBalla_兔子14 *15 */
16 public classMySql {17
18 //定义MySql驱动,数据库地址,数据库用户名 密码, 执行语句和数据库连接
19 public String driver = "com.mysql.jdbc.Driver";20 public String url = "jdbc:mysql://127.0.0.1:3306/football";21 public String user = "root";22 public String password = "";23 public Statement stmt = null;24 public Connection conn = null;25
26 //创建一个插入数据的方法
27 public voiddatatoMySql(String insertSQl) {28
29 try{30 try{31 Class.forName(driver).newInstance();32 } catch(Exception e) {33 System.out.println("Unable to find the local driver");34 e.printStackTrace();35 }36 //创建连接
37 conn =DriverManager.getConnection(url, user, password);38 //创建一个 Statement 对象来将 SQL 语句发送到数据库
39 stmt =conn.createStatement();40 } catch(SQLException e) {41 e.printStackTrace();42 }43 try{44 //执行SQL 插入语句
45 stmt.executeUpdate(insertSQl);46 } catch(SQLException e) {47 e.printStackTrace();48 }49 try{50 stmt.close();51 conn.close();52 } catch(SQLException e) {53 e.printStackTrace();54 }55 }56
57
58 //创建一个查找数据的方法
59 publicResultSet searchMySql(String selectSQl) {60
61 ResultSet rs=