使用Spring JDBC持久化WebCollector爬取的数据
来源:互联网 发布:零基础学java 编辑:程序博客网 时间:2024/09/21 08:18
1.导入Spring JDBC的依赖
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.31</version></dependency><dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.0.5.RELEASE</version></dependency><dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version></dependency>
2.创建一个JDBCHelper类
import java.util.HashMap;import org.apache.commons.dbcp.BasicDataSource;import org.springframework.jdbc.core.JdbcTemplate;/** * * @author hu */public class JDBCHelper { public static HashMap<String, JdbcTemplate> templateMap = new HashMap<String, JdbcTemplate>(); public static JdbcTemplate createMysqlTemplate(String templateName, String url, String username, String password, int initialSize, int maxActive) { BasicDataSource dataSource = new BasicDataSource(); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUrl(url); dataSource.setUsername(username); dataSource.setPassword(password); dataSource.setInitialSize(initialSize); dataSource.setMaxActive(maxActive); JdbcTemplate template = new JdbcTemplate(dataSource); templateMap.put(templateName, template); return template; } public static JdbcTemplate getJdbcTemplate(String templateName){ return templateMap.get(templateName); }}
可以调用JDBCHelper的getJdbcTemplate方法来获取一个JdbcTemplate,考虑到有些爬虫可能会用到多个数据库,这里可以为每个JdbcTemplate指定名称,如果已经创建了一个名为xxx的JdbcTemplate,第二次调用getJdbcTemplate(xxx)时,不会二次创建,而是返回已经创建的JdbcTemplate。
3.初始化一个JdbcTemplate
例如我们要创建一个包含了id,url,title,html四列的表:
JdbcTemplate jdbcTemplate = null;try { jdbcTemplate = JDBCHelper.createMysqlTemplate("mysql1", "jdbc:mysql://localhost/testdb?useUnicode=true&characterEncoding=utf8", "root", "password", 5, 30); /*创建数据表*/ jdbcTemplate.execute("CREATE TABLE IF NOT EXISTS tb_content (" + "id int(11) NOT NULL AUTO_INCREMENT," + "title varchar(50),url varchar(200),html longtext," + "PRIMARY KEY (id)" + ") ENGINE=MyISAM DEFAULT CHARSET=utf8;"); System.out.println("成功创建数据表 tb_content");} catch (Exception ex) { jdbcTemplate = null; System.out.println("mysql未开启或JDBCHelper.createMysqlTemplate中参数配置不正确!");}
4.在WebCollector的visit方法中使用jdbcTemplate持久化数据
if (jdbcTemplate != null) { int updates=jdbcTemplate.update("insert into tb_content" +" (title,url,html) value(?,?,?)", title, page.getUrl(), page.getHtml()); if(updates==1){ System.out.println("mysql插入成功"); }}
通过捐款支持WebCollector
维护WebCollector及教程需要花费较大的时间和精力,如果你喜欢WebCollector的话,欢迎通过捐款的方式,支持开发者的工作,非常感谢!
你可以使用支付宝钱包扫描下方的二维码进行捐款, 或者通过向支付宝帐号 hujunxianligong@126.com转帐进行捐款。
0 0
- 使用Spring JDBC持久化WebCollector爬取的数据
- WebCollector爬虫的数据持久化
- WebCollector爬取JS加载的数据
- WebCollector爬取JS加载的数据
- 用WebCollector爬取网站的图片
- 使用JDBC对象持久化数据对象
- WebCollector分布式爬取
- 用WebCollector爬取新浪微博数据
- WebCollector爬取百度搜索引擎
- WebCollector爬取CSDN博客
- WebCollector爬取百度搜索引擎例子
- WebCollector教程——爬取搜索引擎
- WebCollector——断点爬取
- 使用Spring进行Web应用开发(二)使用jdbc的持久层
- 使用Spring进行Web应用开发(二)使用jdbc的持久层
- spring(11)使用对象-关系映射持久化数据
- WebCollector爬取JS加载的数据很简单,首先需要加入selenium的所有jar包,maven项目向pom.xml中添加下面代码
- Core Data数据持久化的使用
- FPGA图像处理系列-video信号转Avalon-ST模块
- Bat批处理备份文件夹、并删除指定日期前的过期文件夹
- PorterDuffXfermode的用法
- swift之Button基础
- WebCollector爬取CSDN博客
- 使用Spring JDBC持久化WebCollector爬取的数据
- VS 更改.lib和.exp输出位置
- 提高Web页面性能的技巧
- WebCollector分布式爬取
- Lazy爬虫配置教程
- Xcode中pch文件的使用以及注意事项
- 网页存储解决方案
- iOS 将相册中的图片上传至服务器
- 常用工具