您的位置:首页 > 编程语言 > Java开发

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

2017-08-22 11:13 381 查看
本人在使用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 void addJoke(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("数据库链接失败!");
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息