java连接mysql数据库表中的完成过程及操作方法
优采云 发布时间: 2021-07-01 05:39java连接mysql数据库表中的完成过程及操作方法
【目标任务】把这个网站采集全国的手机号码段传到数据库表中
【完成流程】
1、正则表达式介绍,学习写简单的正则表达式
2、获取单个网页的内容,学习java中的基本IO流程
3、将获取到的数据插入到mysql数据库表中,掌握基本的JDBC编程。
5、通过url拼接得到每个城市的完整url
6、采集网站的整个数段,并使用批处理+预编译批量插入数据库表
7、使用StringBuilder优化加速
【数据库表】注意,如果是在cmd命令下建表,字段名不需要加引号
create table number_segment (
`id` bigint not null auto_increment unique,
`segment` char(7) not null primary key,
`province` varchar(255) not null,
`city` varchar(255) not null
) default charset=utf8;
【正则表达式介绍】
1、学习简单表达式:30 分钟开始使用正则表达式。
2、Online 测试自己写的表达式:在线测试正则表达式1
3、使用java的Pattern类和Matcher类
<p>import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class test_ZhengZe{
public static void main(String[] args)
{
Pattern p = Pattern.compile("(13\\d{5}[^1300040</a><a href=\"../../mobile/guangzhou_1300041.html\">1300041</a><a ";
Matcher m = p.matcher(s);
while(m.find())
{
System.out.println("打印出的号码段落:"+m.group(0));
}
System.out.print("捕获的数据有:"+m.groupCount());
}
}/pre/p
pimg src='https://images0.cnblogs.com/blog/516931/201408/301608266104268.png' alt='clipboard'//p
p[获取网页内容]/p
p这里主要用到两个IO流处理类InputStream和BufferReader。更多方法说明请参考【Java中采集网页内容获取方法总结】/p
ppre class="brush: csharp; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;"import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class getHtml {
public static void main(String[] args) throws Exception {
long start= System.currentTimeMillis();
String str_url="http://www.hiphop8.com/city/guangdong/guangzhou.php";
//匹配号码段
Pattern p = Pattern.compile(">(13\\d{5}|15\\d{5}|18\\d{5}|147\\d{4})