selenium2java如何把爬到的内容直接存到数据库中

来源:互联网 发布:python verify false 编辑:程序博客网 时间:2024/04/29 03:30

本人在使用selenium2java做爬虫的时候,一开始是把爬到的内容存到一个map里面,等结束了再去写到excel表格里,中途经验因为各种原因停止,所以每次运行的次数也不多,后来觉得没爬一条,直接放到数据库里面比较合适,就尝试本地装了一个mqlserver,实验之后,效果不错。分享出来供大家参考。

package soucrce;/*** @author ··-·尘* @E-mail:Fhaohaizi@163.com* @version 创建时间:2017年8月19日 下午6:59:02* @alter 修改时间:* 类说明:*/import java.io.*;import java.sql.*;public class LocalMySql extends SourceCode{private static LocalMySql mySql = new LocalMySql();public static LocalMySql getInstance() {return mySql;}static String driver = "com.mysql.jdbc.Driver";static String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8";//设置编码格式,解决中文乱码static String user = "root"; static String password = "fjklqd";private Connection connection;//私有构造方法private LocalMySql() {output("欢迎使用本地数据库!");}public static void main(String[] args) throws ClassNotFoundException, SQLException, IOException {LocalMySql.getInstance().addJoke("测试文本", 1);}//测试方法public void testDemo() throws ClassNotFoundException, SQLException, IOException {getConnection();if(!connection.isClosed()){outputSuccess();//statement用来执行SQL语句Statement statement = connection.createStatement();// 要执行的SQL语句String sql = "select * from users";            ResultSet resultSet = statement.executeQuery(sql);            while(resultSet.next()) {                  // 选择列数据                  System.out.println(resultSet.getString("user_id") + "\t" + resultSet.getString("name") + resultSet.getString("create_time"));                  }              connection.close();            }else {            outputFalse();            }}public voidaddJoke(String content, int fromid) throws SQLException, UnsupportedEncodingException {if (content.length() > 250) {output("内容过长!");return;}getConnection();if (!connection.isClosed()) {outputSuccess();Statement statement = connection.createStatement();String sql = "INSERT INTO joke (content,from_id) VALUES (N'" + content +"','" + fromid + "')";output(sql);statement.executeUpdate(sql);} else {outputFalse();}}private void getConnection() {try {Class.forName(driver);} catch (ClassNotFoundException e) {output("加载驱动程序失败!");e.printStackTrace();}// 连接数据库try {connection = DriverManager.getConnection(url, user, password);} catch (SQLException e) {outputFalse();e.printStackTrace();}}private void outputSuccess() {output("数据库链接成功!");}private void outputFalse() {output("数据库链接失败!");}}


阅读全文
0 0
原创粉丝点击